diff --git a/src/app/(dashboard)/[portSlug]/documents/page.tsx b/src/app/(dashboard)/[portSlug]/documents/page.tsx index 1b50c99..5ea27b8 100644 --- a/src/app/(dashboard)/[portSlug]/documents/page.tsx +++ b/src/app/(dashboard)/[portSlug]/documents/page.tsx @@ -1,7 +1,6 @@ 'use client'; import { useState } from 'react'; -import { useParams } from 'next/navigation'; import { Grid, List, Upload } from 'lucide-react'; import { useQueryClient } from '@tanstack/react-query'; @@ -19,13 +18,12 @@ import { apiFetch } from '@/lib/api/client'; import type { FileRow } from '@/components/files/file-grid'; export default function DocumentsPage() { - const params = useParams<{ portSlug: string }>(); const queryClient = useQueryClient(); const { viewMode, setViewMode, currentFolder, setCurrentFolder } = useFileBrowserStore(); const [showUpload, setShowUpload] = useState(false); const [previewFile, setPreviewFile] = useState(null); - const [renameFile, setRenameFile] = useState(null); + const [, setRenameFile] = useState(null); const { data, isLoading } = usePaginatedQuery({ queryKey: ['files'], diff --git a/src/app/(dashboard)/[portSlug]/expenses/page.tsx b/src/app/(dashboard)/[portSlug]/expenses/page.tsx index 68417ee..3d6cc7b 100644 --- a/src/app/(dashboard)/[portSlug]/expenses/page.tsx +++ b/src/app/(dashboard)/[portSlug]/expenses/page.tsx @@ -1,7 +1,7 @@ 'use client'; import { useState } from 'react'; -import { useParams, useRouter } from 'next/navigation'; +import { useParams } from 'next/navigation'; import { Plus, Download, FileText, FileSpreadsheet } from 'lucide-react'; import { useMutation, useQueryClient } from '@tanstack/react-query'; diff --git a/src/app/(dashboard)/[portSlug]/expenses/scan/page.tsx b/src/app/(dashboard)/[portSlug]/expenses/scan/page.tsx index f824976..a7d86ab 100644 --- a/src/app/(dashboard)/[portSlug]/expenses/scan/page.tsx +++ b/src/app/(dashboard)/[portSlug]/expenses/scan/page.tsx @@ -3,7 +3,7 @@ import { useState, useRef } from 'react'; import { useParams, useRouter } from 'next/navigation'; import { useMutation } from '@tanstack/react-query'; -import { Upload, Loader2, Camera, ScanLine } from 'lucide-react'; +import { Upload, Loader2, ScanLine } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; diff --git a/src/app/(dashboard)/[portSlug]/invoices/new/page.tsx b/src/app/(dashboard)/[portSlug]/invoices/new/page.tsx index e13e030..36482cf 100644 --- a/src/app/(dashboard)/[portSlug]/invoices/new/page.tsx +++ b/src/app/(dashboard)/[portSlug]/invoices/new/page.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import { useParams, useRouter } from 'next/navigation'; import { useForm, FormProvider } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; -import { useMutation, useQuery } from '@tanstack/react-query'; +import { useMutation } from '@tanstack/react-query'; import { ChevronLeft, ChevronRight, Check, Loader2 } from 'lucide-react'; import { Button } from '@/components/ui/button'; @@ -19,7 +19,6 @@ import { SelectValue, } from '@/components/ui/select'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; -import { Badge } from '@/components/ui/badge'; import { InvoiceLineItems } from '@/components/invoices/invoice-line-items'; import { apiFetch } from '@/lib/api/client'; import { createInvoiceSchema, type CreateInvoiceInput } from '@/lib/validators/invoices'; @@ -75,7 +74,7 @@ export default function NewInvoicePage() { method: 'POST', body: data, }), - onSuccess: (res: any) => { + onSuccess: (res: { data?: { id?: string } }) => { const id = res?.data?.id; if (id) { router.push(`/${portSlug}/invoices/${id}`); @@ -217,7 +216,7 @@ export default function NewInvoicePage() { - setValue(`contacts.${index}.channel`, v as any) + setValue(`contacts.${index}.channel`, v as 'email' | 'phone' | 'whatsapp' | 'other') } > @@ -356,7 +357,7 @@ export function ClientForm({ open, onOpenChange, client }: ClientFormProps) { setValue('preferredContactMethod', v as any)} + onValueChange={(v) => setValue('preferredContactMethod', v as 'email' | 'phone' | 'whatsapp')} > diff --git a/src/components/clients/client-list.tsx b/src/components/clients/client-list.tsx index 9f6e7a4..303d270 100644 --- a/src/components/clients/client-list.tsx +++ b/src/components/clients/client-list.tsx @@ -96,7 +96,7 @@ export function ClientList() { entityType="clients" currentFilters={filters} currentSort={sort} - onApplyView={(savedFilters, savedSort) => { + onApplyView={(savedFilters, _savedSort) => { clearFilters(); Object.entries(savedFilters).forEach(([key, val]) => setFilter(key, val)); }} @@ -137,7 +137,7 @@ export function ClientList() { !open && setEditClient(null)} - client={editClient as any} + client={editClient as unknown as NonNullable[0]['client']>} /> )} diff --git a/src/components/documents/document-list.tsx b/src/components/documents/document-list.tsx index 25eb8e7..0629508 100644 --- a/src/components/documents/document-list.tsx +++ b/src/components/documents/document-list.tsx @@ -1,6 +1,5 @@ 'use client'; -import { useState } from 'react'; import { useQueryClient } from '@tanstack/react-query'; import { Badge } from '@/components/ui/badge'; diff --git a/src/components/documents/signing-progress.tsx b/src/components/documents/signing-progress.tsx index b84ebaf..48a3d7d 100644 --- a/src/components/documents/signing-progress.tsx +++ b/src/components/documents/signing-progress.tsx @@ -41,7 +41,7 @@ export function SigningProgress({ documentId, signers }: SigningProgressProps) { const sorted = [...signers].sort((a, b) => a.signingOrder - b.signingOrder); - const handleResend = async (signer: Signer) => { + const handleResend = async (_signer: Signer) => { try { await apiFetch(`/api/v1/documents/${documentId}/remind`, { method: 'POST' }); queryClient.invalidateQueries({ queryKey: ['documents', documentId, 'signers'] }); diff --git a/src/components/expenses/expense-columns.tsx b/src/components/expenses/expense-columns.tsx index 44b704b..37c1f09 100644 --- a/src/components/expenses/expense-columns.tsx +++ b/src/components/expenses/expense-columns.tsx @@ -31,12 +31,6 @@ export interface ExpenseRow { createdAt: string; } -const PAYMENT_STATUS_VARIANTS: Record = { - unpaid: 'destructive', - paid: 'default', - partial: 'secondary', -}; - const PAYMENT_STATUS_COLORS: Record = { unpaid: 'bg-red-100 text-red-700 border-red-200', paid: 'bg-green-100 text-green-700 border-green-200', diff --git a/src/components/expenses/expense-detail.tsx b/src/components/expenses/expense-detail.tsx index 3e0d0ab..a09954e 100644 --- a/src/components/expenses/expense-detail.tsx +++ b/src/components/expenses/expense-detail.tsx @@ -8,16 +8,6 @@ import { Loader2, Receipt, Edit, Archive } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; -import { Label } from '@/components/ui/label'; -import { Input } from '@/components/ui/input'; -import { Textarea } from '@/components/ui/textarea'; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from '@/components/ui/select'; import { ArchiveConfirmDialog } from '@/components/shared/archive-confirm-dialog'; import { apiFetch } from '@/lib/api/client'; import type { ExpenseRow } from './expense-columns'; diff --git a/src/components/expenses/expense-form-dialog.tsx b/src/components/expenses/expense-form-dialog.tsx index a653c85..f90ea53 100644 --- a/src/components/expenses/expense-form-dialog.tsx +++ b/src/components/expenses/expense-form-dialog.tsx @@ -43,7 +43,6 @@ export function ExpenseFormDialog({ open, onOpenChange, expense }: ExpenseFormDi register, handleSubmit, setValue, - watch, reset, formState: { errors, isSubmitting }, } = useForm({ @@ -60,11 +59,11 @@ export function ExpenseFormDialog({ open, onOpenChange, expense }: ExpenseFormDi establishmentName: expense.establishmentName ?? undefined, amount: Number(expense.amount), currency: expense.currency, - category: expense.category as any, - paymentMethod: expense.paymentMethod as any, + category: expense.category as string, + paymentMethod: expense.paymentMethod as string, payer: expense.payer ?? undefined, expenseDate: new Date(expense.expenseDate), - paymentStatus: (expense.paymentStatus as any) ?? 'unpaid', + paymentStatus: (expense.paymentStatus as string) ?? 'unpaid', }); } else if (open && !expense) { reset({ @@ -162,7 +161,7 @@ export function ExpenseFormDialog({ open, onOpenChange, expense }: ExpenseFormDi
setValue('paymentMethod', v as any)} + onValueChange={(v) => setValue('paymentMethod', v as string)} defaultValue={expense?.paymentMethod ?? undefined} > @@ -209,7 +208,7 @@ export function ExpenseFormDialog({ open, onOpenChange, expense }: ExpenseFormDi