feat(frontend): workday summary modal, print analytics UI, staff zone-PIN management, report upgrades
manager_dashboard: - DashboardPage: WorkdaySummaryModal integration (view / close-day flows); revenue chart upgrades - WorkdaySummaryModal: new component — shows full shift/revenue summary before closing the day - StaffTab: full rewrite — zone-assignment modal, reset-PIN modal, actions dropdown, richer staff card - ProductsTab: digital-menu fields surfaced in product form - PrintFontsTab: expanded font-size/weight controls per printer channel - TablesConfigTab / TablesPage / tableColourStore: color picker and zone fields for tables - FilterBar: unified filter component with date-range, printer, and category selectors - CategoryPerformance / ProductPerformance / TableAnalytics: donut/bar charts, thermal+browser print modals, richer breakdown tables - PrinterHistory: redesigned with per-printer drill-down and summary blocks - TrafficAnalytics / WorkDaySummary / RevenueTrends / ShiftsOverview / StaffLeaderboard: polish pass - tokens.js: design token updates waiter_pwa: - TableCard: show table color indicator from zone/colour config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -636,6 +636,11 @@ export default function TableCard({
|
||||
'4x3': Card4x3,
|
||||
}[density] || Card2x2
|
||||
|
||||
const reservation = table.upcoming_reservation ?? null
|
||||
const reservedTime = reservation
|
||||
? new Date(reservation.reserved_for).toLocaleTimeString('el-GR', { hour: '2-digit', minute: '2-digit' })
|
||||
: null
|
||||
|
||||
return (
|
||||
<div style={{ position: 'relative', minWidth: 0, overflow: 'hidden' }}>
|
||||
<button
|
||||
@@ -651,6 +656,21 @@ export default function TableCard({
|
||||
>
|
||||
<CardComponent {...cardProps} />
|
||||
</button>
|
||||
{reservation && (
|
||||
<div style={{
|
||||
position: 'absolute', top: 6, left: 6, zIndex: 10,
|
||||
pointerEvents: 'none',
|
||||
}}>
|
||||
<span style={{
|
||||
display: 'inline-flex', alignItems: 'center', gap: 3,
|
||||
background: '#4f46e5', color: '#e0e7ff',
|
||||
fontSize: 9, fontWeight: 800, letterSpacing: 0.3,
|
||||
borderRadius: 4, padding: '2px 6px',
|
||||
}}>
|
||||
🔒 {reservedTime}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{showTip && flags.length > 0 && (
|
||||
<div style={{
|
||||
|
||||
Reference in New Issue
Block a user