2024-10-15 22:13:11 +00:00
|
|
|
<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"
|
2024-10-15 22:13:11 +00:00
|
|
|
import Landing from "@app/components/Landing.svelte"
|
|
|
|
|
import Toast from "@app/components/Toast.svelte"
|
2026-08-11 17:04:47 +00:00
|
|
|
import CallBanner from "@app/components/CallBanner.svelte"
|
2026-09-09 14:43:55 +00:00
|
|
|
import SpeechBanner from "@app/components/SpeechBanner.svelte"
|
2024-10-15 22:13:11 +00:00
|
|
|
import PrimaryNav from "@app/components/PrimaryNav.svelte"
|
2026-07-28 16:16:26 +00:00
|
|
|
import {app} from "@app/core"
|
2026-09-11 17:10:41 +00:00
|
|
|
import {getModal} from "@app/modal.svelte"
|
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
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-04 01:21:46 +00:00
|
|
|
const {children}: Props = $props()
|
2024-10-15 22:13:11 +00:00
|
|
|
</script>
|
|
|
|
|
|
2026-08-11 17:04:47 +00:00
|
|
|
<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>
|
2026-09-11 17:10:41 +00:00
|
|
|
{:else if !getModal()}
|
2026-08-11 17:04:47 +00:00
|
|
|
<Dialog noEscape children={{component: Landing, props: {}}} />
|
|
|
|
|
{/if}
|
|
|
|
|
</div>
|
|
|
|
|
<CallBanner />
|
2026-09-09 14:43:55 +00:00
|
|
|
<SpeechBanner />
|
2024-10-15 22:13:11 +00:00
|
|
|
</div>
|
|
|
|
|
<Toast />
|