import { Title } from '@launch/components/Title'; import { VideoPlayer } from '@launch/components/VideoPlayer'; import { useHomeLayouts } from '@launch/hooks/useHomeLayouts'; import { useSiteImages } from '@launch/hooks/useSiteImages'; import { useSitePlugins } from '@launch/hooks/useSitePlugins'; import { useSiteStrings } from '@launch/hooks/useSiteStrings'; import { PageLayout } from '@launch/layouts/PageLayout'; import { pageState } from '@launch/state/factory'; import { usePagesStore } from '@launch/state/Pages'; import { useUserSelectionStore } from '@launch/state/user-selections'; import { useEffect } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; export const state = pageState('Content Gathering', () => ({ ready: true, canSkip: false, useNav: false, onRemove: () => {}, })); export const ContentGathering = () => { const showSiteQuestions = window.extSharedData?.showSiteQuestions ?? false; const { loading: loadingSitePlugins, sitePlugins } = useSitePlugins(); const waitForPlugins = showSiteQuestions && loadingSitePlugins; const { nextPage } = usePagesStore(); const { setSiteStrings, setSiteImages, addMany } = useUserSelectionStore(); const { siteStrings } = useSiteStrings(); const { siteImages } = useSiteImages(); const { homeLayouts } = useHomeLayouts({ disableFetch: waitForPlugins, }); useEffect(() => { if (!sitePlugins) return; addMany('sitePlugins', sitePlugins, { clearExisting: true }); }, [addMany, sitePlugins]); useEffect(() => { if (!siteStrings) return; setSiteStrings(siteStrings); }, [siteStrings, setSiteStrings]); useEffect(() => { if (!siteImages) return; setSiteImages(siteImages); }, [siteImages, setSiteImages]); useEffect(() => { if (!homeLayouts) return; const id = setTimeout(nextPage, 1000); return () => clearTimeout(id); }, [homeLayouts, nextPage]); return (
</div> </div> </PageLayout> ); };