flotilla/src/app/components/AppContainer.svelte

33 lines
937 B
Svelte
Raw Normal View History

<script lang="ts">
2025-02-04 00:37:14 +00:00
import type {Snippet} from "svelte"
2026-01-30 22:14:12 +00:00
import Dialog from "@lib/components/Dialog.svelte"
import Landing from "@app/components/Landing.svelte"
import Toast from "@app/components/Toast.svelte"
import CallBanner from "@app/components/CallBanner.svelte"
import SpeechBanner from "@app/components/SpeechBanner.svelte"
import PrimaryNav from "@app/components/PrimaryNav.svelte"
2026-07-28 16:16:26 +00:00
import {app} from "@app/core"
import {getModal} from "@app/modal"
2024-11-27 00:39:49 +00:00
2026-07-28 16:16:26 +00:00
type Props = {
2025-02-04 00:37:14 +00:00
children: Snippet
}
const {children}: Props = $props()
</script>
<div class="flex h-screen flex-col overflow-hidden">
<div class="flex min-h-0 flex-1 overflow-hidden">
{#if $app.user?.pubkey}
<PrimaryNav>
{@render children?.()}
</PrimaryNav>
{:else if !getModal()}
<Dialog noEscape children={{component: Landing, props: {}}} />
{/if}
</div>
<CallBanner />
<SpeechBanner />
</div>
<Toast />