infra/stacks/f1-stream/files/frontend/src/routes/+layout.svelte
Viktor Barzin 9fd788b158 [ci skip] f1-stream: add CDN token refresh, SvelteKit frontend, multi-stream layout (Phases 6-8)
- Phase 6: CDN token lifecycle with 3-strategy URL matching and periodic refresh
- Phase 7: SvelteKit 2/Svelte 5 frontend with schedule calendar and hls.js player
- Phase 8: Multi-stream layout supporting up to 4 simultaneous HLS streams
- Update Dockerfile to multi-stage build (Node.js frontend + Python backend)
- Switch deployment to :latest tag with Always pull policy for CI-driven deploys
- Update Woodpecker CI to use explicit latest tag
2026-02-23 23:59:35 +00:00

28 lines
869 B
Svelte

<script>
import '../app.css';
let { children } = $props();
</script>
<div class="min-h-screen flex flex-col">
<header class="border-b border-f1-border bg-f1-surface">
<nav class="max-w-6xl mx-auto px-4 py-3 flex items-center gap-6">
<a href="/" class="flex items-center gap-2 text-lg font-bold text-white hover:text-f1-red transition-colors">
<span class="text-f1-red font-black text-xl">F1</span>
<span>Stream</span>
</a>
<div class="flex gap-4 text-sm">
<a href="/" class="text-f1-text-muted hover:text-white transition-colors">Schedule</a>
<a href="/watch" class="text-f1-text-muted hover:text-white transition-colors">Watch</a>
</div>
</nav>
</header>
<main class="flex-1">
{@render children()}
</main>
<footer class="border-t border-f1-border py-3 text-center text-xs text-f1-text-muted">
F1 Stream
</footer>
</div>