setMobileNavOpen(true)} />
goToScreen("account")}
siteLabel={live?.session?.site?.shopName || live?.session?.site?.shop}
planLabel={live?.session?.plan?.name}
mobileOpen={mobileNavOpen}
onClose={() => setMobileNavOpen(false)}
/>
{showHero && hero && (
)}
{renderScreen()}
{review && (
setReview(null)}
busy={busy}
onRefresh={refresh}
onPublish={(id, html) => publishArticle(id, html)}
onSaveDraft={(id, html) => saveDraftArticle(id, html)}
onSchedule={(id, when, html) => scheduleArticle(id, when, html)}
/>
)}
{showWpGate && ReactDOM.createPortal(
{
setWpGateDone(true);
await refresh();
}}
onSkip={() => setWpGateDone(true)}
/>,
document.body,
)}
{showOnboarding && ReactDOM.createPortal(
{
manualObOpenRef.current = false;
setObDismissed(false);
setObStep(0);
refresh();
}}
onExit={() => {
manualObOpenRef.current = true;
setObDismissed(true);
refresh();
}}
onOpenReview={openArticleReview}
insights={live?.onboardingInsights || obInsights}
plans={live?.plans ?? PLANS}
currentPlanCode={live?.session?.plan?.code || live?.billing?.current?.code}
onboardingCompleted={!!live?.config?.configuration?.onboardingCompleted}
featuredProducts={live?.config?.configuration?.featuredProducts ?? []}
businessSummary={live?.config?.configuration?.editorialCharter ?? ""}
personas={live?.config?.configuration?.targetAudiences ?? live?.personas}
keywords={live?.keywords?.list ?? keywords}
gscConnected={live?.gsc?.connected}
quota={articleQuota}
isWebsite={live?.session?.site?.platform === "WEBSITE"}
/>,
document.body,
)}
);
}
function NavGuardBridge({ bridgeRef }) {
const requestNavigate = useGuardedNavigate();
useEffect(() => {
bridgeRef.current = requestNavigate;
return () => {
bridgeRef.current = null;
};
}, [requestNavigate, bridgeRef]);
return null;
}
function App() {
return