"use client" import * as React from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Badge } from "@/components/ui/badge" import { Search, Download, Eye, Calendar, Clock } from "lucide-react" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" interface ScheduleHistoryProps { teamId: string teamName: string } // Sample historical data const getHistoricalSchedules = (teamId: string) => [ { id: "1", name: "Week 45 - November 2024", dateRange: "Nov 4-10, 2024", createdBy: "John Manager", createdAt: "2024-11-01", status: "completed", employees: 8, }, { id: "2", name: "Week 44 - October 2024", dateRange: "Oct 28 - Nov 3, 2024", createdBy: "Sarah Admin", createdAt: "2024-10-25", status: "completed", employees: 7, }, { id: "3", name: "Week 43 - October 2024", dateRange: "Oct 21-27, 2024", createdBy: "John Manager", createdAt: "2024-10-18", status: "completed", employees: 8, }, { id: "4", name: "Holiday Schedule - Christmas", dateRange: "Dec 23-29, 2023", createdBy: "Admin", createdAt: "2023-12-15", status: "archived", employees: 5, }, ] export function ScheduleHistory({ teamId, teamName }: ScheduleHistoryProps) { const [searchTerm, setSearchTerm] = React.useState("") const historicalSchedules = getHistoricalSchedules(teamId) const filteredSchedules = historicalSchedules.filter( (schedule) => schedule.name.toLowerCase().includes(searchTerm.toLowerCase()) || schedule.dateRange.toLowerCase().includes(searchTerm.toLowerCase()) || schedule.createdBy.toLowerCase().includes(searchTerm.toLowerCase()), ) const getStatusColor = (status: string) => { switch (status) { case "completed": return "bg-green-100 text-green-800" case "archived": return "bg-gray-100 text-gray-800" default: return "bg-blue-100 text-blue-800" } } return ( {teamName} - Schedule History Browse and restore previous schedules for your team
setSearchTerm(e.target.value)} className="pl-10" />
Schedule Name Date Range Created By Created Date Employees Status Actions {filteredSchedules.map((schedule) => ( {schedule.name}
{schedule.dateRange}
{schedule.createdBy} {new Date(schedule.createdAt).toLocaleDateString()} {schedule.employees} {schedule.status}
))}
{filteredSchedules.length === 0 && (

No schedules found

{searchTerm ? "Try adjusting your search terms" : "No historical schedules available yet"}

)}
) }