From 50735b74ea422e3fde80ccb4efeafe9209692d59 Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Thu, 11 Dec 2025 20:01:04 -0500 Subject: [PATCH] fix: resolve lint errors in modified files - Remove unused imports from invoice-form.tsx, sidebar.tsx, dashboard-shell.tsx - Remove unused imports from dashboard.ts and calendar.tsx - Fix unused parameter in invoice-calendar-view.tsx with underscore prefix - Fix type-only import for DayButton in calendar.tsx - All typecheck errors resolved - Remaining lint errors are in unmodified files (pre-existing) --- src/components/forms/invoice-calendar-view.tsx | 7 +++---- src/components/forms/invoice-form.tsx | 11 ++--------- src/components/layout/dashboard-shell.tsx | 1 - src/components/layout/sidebar.tsx | 6 +----- src/components/ui/calendar.tsx | 2 +- src/server/api/routers/dashboard.ts | 3 +-- 6 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/components/forms/invoice-calendar-view.tsx b/src/components/forms/invoice-calendar-view.tsx index 1b314fe..df2d982 100644 --- a/src/components/forms/invoice-calendar-view.tsx +++ b/src/components/forms/invoice-calendar-view.tsx @@ -14,10 +14,9 @@ import { Button } from "~/components/ui/button"; import { Input } from "~/components/ui/input"; import { Label } from "~/components/ui/label"; import { NumberInput } from "~/components/ui/number-input"; -import { Plus, Trash2, Clock, DollarSign, Calendar as CalendarIcon, ChevronLeft, ChevronRight } from "lucide-react"; +import { Plus, Trash2, Clock, Calendar as CalendarIcon, ChevronLeft, ChevronRight } from "lucide-react"; import { cn } from "~/lib/utils"; -import { Card, CardContent, CardHeader, CardTitle } from "~/components/ui/card"; -import { Tabs, TabsList, TabsTrigger } from "~/components/ui/tabs"; + interface InvoiceItem { id: string; @@ -47,7 +46,7 @@ export function InvoiceCalendarView({ onAddItem, onRemoveItem, className, - defaultHourlyRate, + defaultHourlyRate: _defaultHourlyRate, }: InvoiceCalendarViewProps) { const [date, setDate] = React.useState(undefined); // Start unselected const [viewDate, setViewDate] = React.useState(new Date()); // Controls the view (month/week) diff --git a/src/components/forms/invoice-form.tsx b/src/components/forms/invoice-form.tsx index febfab1..9a23b58 100644 --- a/src/components/forms/invoice-form.tsx +++ b/src/components/forms/invoice-form.tsx @@ -4,11 +4,8 @@ import * as React from "react"; import { useState, useEffect, useRef } from "react"; import { useRouter } from "next/navigation"; import { Button } from "~/components/ui/button"; -import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "~/components/ui/card"; -import { Input } from "~/components/ui/input"; +import { Card, CardContent, CardHeader, CardTitle } from "~/components/ui/card"; import { Label } from "~/components/ui/label"; -import { Textarea } from "~/components/ui/textarea"; -import { Separator } from "~/components/ui/separator"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "~/components/ui/tabs"; import { Select, @@ -20,13 +17,11 @@ import { import { DatePicker } from "~/components/ui/date-picker"; import { NumberInput } from "~/components/ui/number-input"; import { PageHeader } from "~/components/layout/page-header"; -import { FloatingActionBar } from "~/components/layout/floating-action-bar"; import { InvoiceLineItems } from "./invoice-line-items"; import { InvoiceCalendarView } from "./invoice-calendar-view"; import { api } from "~/trpc/react"; import { toast } from "sonner"; -import { FileText, DollarSign, Check, Save, Clock, Trash2, Calendar as CalendarIcon, Tag, User, List } from "lucide-react"; -import { cn } from "~/lib/utils"; +import { Save, Calendar as CalendarIcon, Tag, User, List } from "lucide-react"; import { Dialog, DialogContent, @@ -63,7 +58,6 @@ function InvoiceFormSkeleton() { export default function InvoiceForm({ invoiceId }: InvoiceFormProps) { const router = useRouter(); - const utils = api.useUtils(); // State const [formData, setFormData] = useState({ @@ -85,7 +79,6 @@ export default function InvoiceForm({ invoiceId }: InvoiceFormProps) { const [initialized, setInitialized] = useState(false); const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); const [activeTab, setActiveTab] = useState("details"); - const firstItemEditedRef = useRef(false); // Queries (Same as before) const { data: clients, isLoading: loadingClients } = api.clients.getAll.useQuery(); diff --git a/src/components/layout/dashboard-shell.tsx b/src/components/layout/dashboard-shell.tsx index c9e8fc5..1862dc5 100644 --- a/src/components/layout/dashboard-shell.tsx +++ b/src/components/layout/dashboard-shell.tsx @@ -8,7 +8,6 @@ import { Menu } from "lucide-react"; import { Logo } from "~/components/branding/logo"; import { Button } from "~/components/ui/button"; import { Sheet, SheetContent, SheetTrigger } from "~/components/ui/sheet"; -import { DashboardBreadcrumbs } from "~/components/navigation/dashboard-breadcrumbs"; function DashboardContent({ children }: { children: React.ReactNode }) { const { isCollapsed } = useSidebar(); diff --git a/src/components/layout/sidebar.tsx b/src/components/layout/sidebar.tsx index bae1d60..dec51e8 100644 --- a/src/components/layout/sidebar.tsx +++ b/src/components/layout/sidebar.tsx @@ -7,12 +7,8 @@ import { Skeleton } from "~/components/ui/skeleton"; import { Button } from "~/components/ui/button"; import { LogOut, - User, - ChevronLeft, - ChevronRight, PanelLeftClose, PanelLeftOpen, - Settings } from "lucide-react"; import { navigationConfig } from "~/lib/navigation"; import { useSidebar } from "./sidebar-provider"; @@ -65,7 +61,7 @@ export function Sidebar({ mobile, onClose }: SidebarProps) { {/* Navigation */}