+layout.svelte (610B)
1 <script lang="ts"> 2 import AppInit from "$lib/components/app-init.svelte"; 3 import { app_init } from "$lib/utils/app"; 4 import { handle_err } from "@radroots/apps-lib"; 5 import { onMount } from "svelte"; 6 import type { LayoutProps } from "./$types"; 7 8 let { children }: LayoutProps = $props(); 9 let app_ready = $state(false); 10 11 onMount(async () => { 12 try { 13 await app_init(); 14 app_ready = true; 15 } catch (e) { 16 handle_err(e, `on_mount`); 17 } 18 }); 19 </script> 20 21 {#if !app_ready} 22 <AppInit /> 23 {:else} 24 {@render children()} 25 {/if}