diff options
| author | ivar <i@oiee.no> | 2024-04-28 22:37:30 +0200 |
|---|---|---|
| committer | ivar <i@oiee.no> | 2024-04-28 22:37:30 +0200 |
| commit | ced66c5807575cd29f6aa5632e8ad02b38c8448a (patch) | |
| tree | 01760648ee293a2aef2288328014b5747d2192b4 /code/frontend/src/routes/+layout.svelte | |
| parent | 691ad60d7bff5934053d87267c4e303ef3ed5f97 (diff) | |
| download | greatoffice-ced66c5807575cd29f6aa5632e8ad02b38c8448a.tar.xz greatoffice-ced66c5807575cd29f6aa5632e8ad02b38c8448a.zip | |
WIP new frontend
Diffstat (limited to 'code/frontend/src/routes/+layout.svelte')
| -rw-r--r-- | code/frontend/src/routes/+layout.svelte | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/code/frontend/src/routes/+layout.svelte b/code/frontend/src/routes/+layout.svelte new file mode 100644 index 0000000..dc3fea6 --- /dev/null +++ b/code/frontend/src/routes/+layout.svelte @@ -0,0 +1,50 @@ +<script lang="ts"> + import "../app.pcss"; + import { page } from "$app/stores"; + import type { LayoutData } from "./$types"; + import Sonner from "$components/sonner.svelte"; + import { ModeWatcher } from "mode-watcher"; + import StyleChanger from "$components/style-changer.svelte"; + import { browser } from "$app/environment"; + import { QueryClient, QueryClientProvider } from "@tanstack/svelte-query"; + import { setLocale } from "$i18n/i18n-svelte"; + import { ExclamationTriangle } from "svelte-radix"; + + let online = true; + export let data: LayoutData; + setLocale(data.locale); + + const queryClient = new QueryClient({ + defaultOptions: { + queries: { + enabled: browser + } + } + }); +</script> + +<svelte:window bind:online/> +<svelte:head> + <title>{$page.data.title ? $page.data.title + " - Greatoffice" : "Greatoffice"}</title> +</svelte:head> + +<ModeWatcher/> +<Sonner/> +<StyleChanger/> + +<QueryClientProvider client={queryClient}> + <slot/> +</QueryClientProvider> + +{#if !online} + <div class="bg-yellow-50 relative z-50 p-4"> + <div class="flex"> + <div class="flex-shrink-0"> + <ExclamationTriangle class="bg-yellow-50 text-yellow-500"/> + </div> + <div class="ml-3"> + <p class="text-sm text-yellow-700">You seem to be offline, please check your internet connection.</p> + </div> + </div> + </div> +{/if} |
