HEX
Server: Apache
System: Linux 3b2f6704f3ac 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64
User: (2182)
PHP: 7.4.33
Disabled: proc_open, passthru, escapeshellcmd, exec, shell_exec, system, ini_alter, dl, popen, php_check_syntax, show_source, highlight_file, symlink, link, openlog, apache_child_terminate
Upload Files
File: /home/defaultwebsite/public/wp-content/plugins/extendify/src/HelpCenter/HelpCenter.jsx
import { Modal } from '@help-center/components/modal/Modal';
import { GuidedTour } from '@help-center/components/tours/GuidedTour';
import { useRouter } from '@help-center/hooks/useRouter';
import { useGlobalSyncStore } from '@help-center/state/globals-sync';
import { useEffect } from '@wordpress/element';
import { AnimatePresence } from 'framer-motion';

export const HelpCenter = () => {
	// register a custom event to hide the Help Center.
	const { setVisibility, visibility } = useGlobalSyncStore();
	const { navigateTo } = useRouter();

	useEffect(() => {
		const handleOpen = (event) => {
			event?.detail?.page && navigateTo(event.detail.page);
			setVisibility('open');
		};
		const handleMinimize = () => {
			if (visibility !== 'open') return;
			setVisibility('minimized');
		};

		window.addEventListener('extendify-hc:open', handleOpen);
		window.addEventListener('extendify-hc:minimize', handleMinimize);
		return () => {
			window.removeEventListener('extendify-hc:open', handleOpen);
			window.removeEventListener('extendify-hc:minimize', handleMinimize);
		};
	}, [setVisibility, visibility, navigateTo]);

	return (
		<>
			<AnimatePresence>
				<Modal />
			</AnimatePresence>
			<GuidedTour />
		</>
	);
};