- Persistent header: clock countdown, level, blinds, player count (red pulse <10s, PAUSED/BREAK badges) - Bottom tab bar (mobile): Overview, Players, Tables, Financials, More with 48px touch targets - Desktop sidebar (>=768px): vertical nav replacing bottom tabs - FAB: expandable quick actions (Bust, Buy In, Rebuy, Add-On, Pause/Resume) with backdrop - Toast notification system: success/info/warning/error with auto-dismiss and stacking - DataTable: sortable columns, sticky header, search/filter, mobile swipe actions, skeleton loading - Multi-tournament tabs: horizontal scrollable selector when 2+ tournaments active - Loading components: spinner (sm/md/lg), skeleton rows, full-page overlay - Root layout: auth guard, responsive shell (mobile bottom tabs / desktop sidebar) - Route pages: overview, players, tables, financials, more with placeholder content Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
469 B
Svelte
26 lines
469 B
Svelte
<script lang="ts">
|
|
import { goto } from '$app/navigation';
|
|
import { onMount } from 'svelte';
|
|
|
|
/**
|
|
* Root page redirects to /overview.
|
|
* The layout shell handles auth guards.
|
|
*/
|
|
onMount(() => {
|
|
goto('/overview', { replaceState: true });
|
|
});
|
|
</script>
|
|
|
|
<div class="redirect">
|
|
<p>Loading...</p>
|
|
</div>
|
|
|
|
<style>
|
|
.redirect {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 50dvh;
|
|
color: var(--color-text-muted);
|
|
}
|
|
</style>
|