import SiteComponent from "@/app/[language]/site/components/SiteComponent"; import { useSiteStore } from "@/state/Stores"; import { useTranslations } from "next-intl"; import { useEffect } from "react"; export default function useSiteComponent() { const { targetSiteID, getSiteView, setVisible, setEventHandler, setEventCloseHandler, } = useSiteStore(); const t = useTranslations(); useEffect(() => { const onVisibilityModified = () => { if (setVisible()) { const siteView = getSiteView(targetSiteID); if (siteView) { siteView.wasNotify = false; } } }; document.addEventListener("visibilitychange", onVisibilityModified); return () => { document.removeEventListener("visibilitychange", onVisibilityModified); }; }, [getSiteView, setVisible, targetSiteID]); useEffect(() => { setVisible(); setEventHandler(t); setEventCloseHandler(); }, [setEventCloseHandler, setEventHandler, setVisible, t]); useEffect(() => { SiteComponent.connect(); return () => { SiteComponent.disconnect(); }; }, []); }