perf(app): remove unused Google Fonts requests, add pre-JS loading spinner

- app.html: comment out 3 Google Fonts <link> tags (Noto Sans, Noto Serif,
  Roboto Mono) — no theme or component applies these families; all themes use
  system-ui. Saves 3 blocking network requests on every page load.
- app.html: add subtle CSS-only #ae_loader spinner (1.75rem ring, pointer-events:none)
  that shows during JS download + root load function, before Svelte mounts.
- +layout.svelte: add onMount to remove #ae_loader as soon as Svelte bootstraps;
  the existing is_hydrating frosted-glass overlay takes over from there.
- app.css: comment out orphaned Quicksand @font-face — font-family was never
  applied to any element so browser never fetched it anyway.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-05-19 15:02:19 -04:00
parent 615af58a11
commit f37c64c68b
3 changed files with 43 additions and 4 deletions

View File

@@ -4,7 +4,7 @@
let log_lvl: number = 0;
// *** Import Svelte specific
import { untrack } from 'svelte';
import { onMount, untrack } from 'svelte';
import { goto, invalidateAll } from '$app/navigation';
import '../app.css';
@@ -53,6 +53,12 @@ interface Props {
let { data, children }: Props = $props();
// Remove the pre-JS loader from app.html as soon as Svelte mounts.
// The existing is_hydrating overlay takes over from here.
onMount(() => {
document.getElementById('ae_loader')?.remove();
});
// STABLE DERIVATION: Using prop data directly to avoid store loops
let ae_acct = $derived(data[data.account_id]);