diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 162f420..270e841 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -26,6 +26,25 @@
]
let { children } = $props();
+ let fontsLoaded = $state(false);
+
+ // Explicitly load fonts before rendering to prevent FOUT
+ async function loadFonts() {
+ try {
+ await Promise.all([
+ document.fonts.load('16px "Inter Variable"'),
+ document.fonts.load('16px "JetBrains Mono Variable"'),
+ ]);
+ fontsLoaded = true;
+ } catch (error) {
+ console.warn('Font preload failed:', error);
+ fontsLoaded = true;
+ }
+ }
+
+ $effect.pre(() => {
+ loadFonts();
+ })
@@ -35,4 +54,6 @@
{/each}
-{@render children()}
+{#if fontsLoaded}
+ {@render children()}
+{/if}
diff --git a/src/routes/Flash.svelte b/src/routes/Flash.svelte
index 1cc9371..f00332c 100644
--- a/src/routes/Flash.svelte
+++ b/src/routes/Flash.svelte
@@ -94,12 +94,10 @@
},
[ErrorCode.REQUIREMENTS_NOT_MET]: {
status: 'Unsupported Browser',
- // TODO Verify that this works lol
description: `
This browser doesn't support WebUSB. Please use a compatible browser like
- Google Chrome
- .`,
+ Google Chrome.`,
hideRetry: true,
},
[ErrorCode.STORAGE_SPACE]: {
@@ -320,7 +318,7 @@
-{#if wizardScreen === 'landing' && !error}
+{#if wizardScreen === 'landing' && !(error && error != ErrorCode.REQUIREMENTS_NOT_MET)}
diff --git a/src/routes/_components/WindowsZadig.svelte b/src/routes/_components/WindowsZadig.svelte
index 6d20472..3464640 100644
--- a/src/routes/_components/WindowsZadig.svelte
+++ b/src/routes/_components/WindowsZadig.svelte
@@ -1,4 +1,4 @@
-