feat(bookings): add calendar UI with booking creation

- Add TimeSlot component with available/booked visual states
- Add BookingCalendar component with date navigation and court columns
- Add BookingDialog for creating bookings and viewing/cancelling existing ones
- Add bookings page with calendar integration
- Fix sidebar navigation paths for route group structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ivan
2026-02-01 06:50:22 +00:00
parent ef21748191
commit cdf6e8ebe6
6 changed files with 1029 additions and 8 deletions

View File

@@ -21,14 +21,14 @@ interface NavItem {
}
const navItems: NavItem[] = [
{ label: 'Dashboard', href: '/admin/dashboard', icon: LayoutDashboard },
{ label: 'Reservas', href: '/admin/bookings', icon: Calendar },
{ label: 'Torneos', href: '/admin/tournaments', icon: Trophy },
{ label: 'Ventas', href: '/admin/pos', icon: ShoppingCart },
{ label: 'Clientes', href: '/admin/clients', icon: Users },
{ label: 'Membresías', href: '/admin/memberships', icon: CreditCard },
{ label: 'Reportes', href: '/admin/reports', icon: BarChart3 },
{ label: 'Configuración', href: '/admin/settings', icon: Settings },
{ label: 'Dashboard', href: '/dashboard', icon: LayoutDashboard },
{ label: 'Reservas', href: '/bookings', icon: Calendar },
{ label: 'Torneos', href: '/tournaments', icon: Trophy },
{ label: 'Ventas', href: '/pos', icon: ShoppingCart },
{ label: 'Clientes', href: '/clients', icon: Users },
{ label: 'Membresías', href: '/memberships', icon: CreditCard },
{ label: 'Reportes', href: '/reports', icon: BarChart3 },
{ label: 'Configuración', href: '/settings', icon: Settings },
];
export function Sidebar() {