import React, { useState } from 'react'; import { Layout } from '../components/Layout/Layout'; import { Calendar, Plus, Copy, Zap, Send, Edit, Trash2 } from 'lucide-react'; import { format, startOfWeek, addDays } from 'date-fns'; export const TeamSchedules: React.FC = () => { const [currentWeek] = useState(startOfWeek(new Date())); const [selectedShift, setSelectedShift] = useState(null); const employees = ['John Doe', 'Jane Smith', 'Bob Johnson', 'Alice Brown', 'Charlie Wilson']; const weekDays = Array.from({ length: 7 }, (_, i) => addDays(currentWeek, i)); const shifts: Record> = { 'John Doe': { '0': { start: '8:00 AM', end: '5:00 PM', role: 'Cashier' }, '1': { start: '8:00 AM', end: '5:00 PM', role: 'Cashier' }, '3': { start: '9:00 AM', end: '6:00 PM', role: 'Manager' }, }, 'Jane Smith': { '1': { start: '9:00 AM', end: '6:00 PM', role: 'Stock' }, '2': { start: '8:00 AM', end: '5:00 PM', role: 'Cashier' }, '4': { start: '8:00 AM', end: '5:00 PM', role: 'Cashier' }, }, }; return (

Team Schedules

{/* Top Controls */}
{/* Main Grid */}
{weekDays.map((day, idx) => ( ))} {employees.map((emp, empIdx) => ( {weekDays.map((day, dayIdx) => { const shift = shifts[emp]?.[dayIdx.toString()]; return ( ); })} ))}
Employee
{format(day, 'EEE')}
{format(day, 'MMM d')}
{emp} {shift ? (
setSelectedShift(`${emp}-${dayIdx}`)} >
{shift.start} - {shift.end}
{shift.role}
) : (
Click to add
)}
{/* Sidebar */}

Unassigned Shifts

Monday 8:00 AM

Cashier needed

Coverage

{weekDays.map((day, idx) => (
{format(day, 'EEE')} ✓ Covered
))}
{/* Shift Edit Drawer */} {selectedShift && (

Edit Shift

)}
); };