import { getAllInvoices } from "@/lib/actions/invoice.actions" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { FileText, Plus, TrendingUp, AlertCircle, CheckCircle2 } from "lucide-react" import { InvoicesTable } from "@/components/admin/invoices-table" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import Link from "next/link" export const dynamic = "force-dynamic" export const metadata = { title: "Számlák - Admin - FABRIKA NABYTOK", description: "Számla kezelés és kiállítás", } interface PageProps { searchParams: Promise<{ status?: string paymentStatus?: string search?: string }> } export default async function InvoicesPage({ searchParams }: PageProps) { const params = await searchParams const result = await getAllInvoices(params) const invoices = result.success ? result.invoices : [] // Calculate stats const totalInvoices = invoices.length const paidInvoices = invoices.filter((i: any) => i.paymentStatus === "paid").length const unpaidInvoices = invoices.filter((i: any) => i.paymentStatus === "unpaid").length const overdueInvoices = invoices.filter((i: any) => { return i.paymentStatus !== "paid" && new Date(i.dueDate) < new Date() }).length const totalRevenue = invoices.reduce((sum: number, i: any) => sum + (i.totalGross || 0), 0) const totalPaid = invoices.reduce((sum: number, i: any) => sum + (i.paidAmount || 0), 0) const totalOutstanding = totalRevenue - totalPaid return (

Számlák

Számlák kezelése és kiállítása

{/* Stats */}
Összes számla
{totalInvoices}

{paidInvoices} fizetve

Teljes bevétel
{totalRevenue.toLocaleString("hu-HU")} Ft

Összes kiállított számla

Kinnlévőség
{totalOutstanding.toLocaleString("hu-HU")} Ft

{unpaidInvoices} számla

Lejárt
{overdueInvoices}

Lejárt számlák

{/* Invoices Table */} Összes számla Kezelje a kiállított számlákat
) }