throw promise to trigger suspense

This commit is contained in:
Jorrin 2024-04-18 20:31:53 +02:00
parent e2f1f8274b
commit 07b07fc354

View file

@ -31,7 +31,10 @@ import { SettingsSyncer } from "@/stores/subtitles/SettingsSyncer";
import { ThemeProvider } from "@/stores/theme";
import { TurnstileProvider } from "@/stores/turnstile";
import { extensionInfo } from "./backend/extension/messaging";
import {
extensionInfo,
isExtensionActiveCached,
} from "./backend/extension/messaging";
import { initializeChromecast } from "./setup/chromecast";
import { initializeOldStores } from "./stores/__old/migrations";
@ -142,10 +145,10 @@ function TheRouter(props: { children: ReactNode }) {
}
// Checks if the extension is installed
function ExtensionInfoLoader() {
useAsync(async () => {
await extensionInfo();
}, []);
function ExtensionStatus() {
if (!isExtensionActiveCached()) {
throw extensionInfo();
}
return null;
}
@ -159,7 +162,7 @@ root.render(
<TurnstileProvider />
<HelmetProvider>
<Suspense fallback={<LoadingScreen type="lazy" />}>
<ExtensionInfoLoader />
<ExtensionStatus />
<ThemeProvider applyGlobal>
<ProgressSyncer />
<BookmarkSyncer />