"use client"; import * as React from "react"; import { cn } from "~/lib/utils"; import { Button } from "~/components/ui/button"; import { Card, CardContent } from "~/components/ui/card"; import { ScrollArea } from "~/components/ui/scroll-area"; import { List, Calendar as CalendarIcon, Plus } from "lucide-react"; import { InvoiceLineItems } from "../invoice-line-items"; import { InvoiceCalendarView } from "../invoice-calendar-view"; import type { InvoiceFormData } from "./types"; interface InvoiceWorkspaceProps { formData: InvoiceFormData; viewMode: "list" | "calendar"; setViewMode: (mode: "list" | "calendar") => void; addItem: (date?: Date) => void; removeItem: (index: number) => void; updateItem: (index: number, field: string, value: string | number | Date) => void; moveItemUp: (index: number) => void; moveItemDown: (index: number) => void; reorderItems: (items: any[]) => void; className?: string; } export function InvoiceWorkspace({ formData, viewMode, setViewMode, addItem, removeItem, updateItem, moveItemUp, moveItemDown, reorderItems, className, }: InvoiceWorkspaceProps) { return (
{/* Workspace Header / View Toggle */}

{viewMode === 'list' ? 'Line Items' : 'Timesheet'}

{formData.items.length} {formData.items.length === 1 ? 'entry' : 'entries'}
{/* Workspace Content */}
{viewMode === 'list' ? (
addItem()} onRemoveItem={removeItem} onUpdateItem={updateItem} onMoveUp={moveItemUp} onMoveDown={moveItemDown} onReorderItems={reorderItems} className="p-4" />
) : (
)}
); }