- 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>
1 line
994 B
JavaScript
1 line
994 B
JavaScript
import{a as o,f as i}from"../chunks/Q5CB4WY5.js";import{p as b,a as p,g as c,x as u,s as d,c as m,r as g}from"../chunks/C4An0dnW.js";import{t as f}from"../chunks/C5aWxL5p.js";import{D as y}from"../chunks/WPMya0VZ.js";var v=i('<div class="page-content svelte-bf0doe"><h2 class="svelte-bf0doe">Tables</h2> <p class="text-secondary svelte-bf0doe">Active tables and seating.</p> <!></div>');function D(t,s){b(s,!0);const l=[{key:"number",label:"Table #",sortable:!0,align:"center"},{key:"seats",label:"Seats",sortable:!0,align:"center"},{key:"player_count",label:"Players",sortable:!0,align:"center"},{key:"is_final_table",label:"Final",hideMobile:!0,sortable:!0,align:"center",render:e=>e.is_final_table?"Yes":""}];let r=u(()=>f.tables.map(e=>({...e,player_count:e.players.length})));var a=v(),n=d(m(a),4);y(n,{get columns(){return l},get data(){return c(r)},sortable:!0,searchable:!1,loading:!1,emptyMessage:"No tables set up yet",rowKey:e=>String(e.id)}),g(a),o(t,a),p()}export{D as component};
|