import RouterProvider from '@/providers/RouterProvider'; import TopBar from '@/components/TopBar'; import RouterContainer from '@/components/RouterContainer'; import ErrorBoundary from '@/components/ErrorBoundary'; import { SnackbarProvider } from '@/components/GlobalSnackbar'; import { getEntryPointType } from '@/config/features'; import { useMemo } from 'react'; export default function App() { const handleOpenOptions = () => { chrome.runtime.openOptionsPage().catch(console.error); }; const entryType = useMemo(() => getEntryPointType(), []); const routerConfig = useMemo(() => { if (entryType === 'tab') { return { syncKey: 'app/tabRoute' as const, visiblePagesKey: 'app/tabVisiblePages' as const, pageOrderKey: 'app/tabPageOrder' as const, }; } return { syncKey: 'app/popupRoute' as const, visiblePagesKey: 'app/popupVisiblePages' as const, pageOrderKey: 'app/popupPageOrder' as const, }; }, [entryType]); return (
); }