PluginProbe
Extendify / 3.1.2
Extendify v3.1.2
3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 0.7.0 All 126 releases
extendify / src / HelpCenter / HelpCenter.jsx

HelpCenter.jsx in Extendify 3.1.2, at src/HelpCenter/HelpCenter.jsx

40 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import { Modal } from '@help-center/components/modal/Modal';
2 import { GuidedTour } from '@help-center/components/tours/GuidedTour';
3 import { useRouter } from '@help-center/hooks/useRouter';
4 import { useGlobalSyncStore } from '@help-center/state/globals-sync';
5 import { useEffect } from '@wordpress/element';
6 import { AnimatePresence } from 'framer-motion';
7
8 export const HelpCenter = () => {
9 // register a custom event to hide the Help Center.
10 const { setVisibility, visibility } = useGlobalSyncStore();
11 const { navigateTo } = useRouter();
12
13 useEffect(() => {
14 const handleOpen = (event) => {
15 event?.detail?.page && navigateTo(event.detail.page);
16 setVisibility('open');
17 };
18 const handleMinimize = () => {
19 if (visibility !== 'open') return;
20 setVisibility('minimized');
21 };
22
23 window.addEventListener('extendify-hc:open', handleOpen);
24 window.addEventListener('extendify-hc:minimize', handleMinimize);
25 return () => {
26 window.removeEventListener('extendify-hc:open', handleOpen);
27 window.removeEventListener('extendify-hc:minimize', handleMinimize);
28 };
29 }, [setVisibility, visibility, navigateTo]);
30
31 return (
32 <>
33 <AnimatePresence>
34 <Modal />
35 </AnimatePresence>
36 <GuidedTour />
37 </>
38 );
39 };
40