"use client"; import * as React from "react"; import { cn } from "~/lib/utils"; import { Button } from "~/components/ui/button"; import { List, Calendar as CalendarIcon } 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; className?: string; } export function InvoiceWorkspace({ formData, viewMode, setViewMode, addItem, removeItem, updateItem, 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} className="p-4" />
) : (
)}
); }