import { Link, useLoaderData } from "react-router"; import { requireUser } from "@/session.server"; import prisma from "@/lib/prisma"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Building2, Plus, FileText, Users } from "lucide-react"; export async function loader({ request }: { request: Request }) { const user = await requireUser(request); const companies = await prisma.company.findMany({ where: { userId: user.id }, include: { _count: { select: { invoices: true, customers: true } } }, orderBy: { name: "asc" }, }); return { companies }; } export default function CompaniesPage() { const { companies } = useLoaderData(); return (

Mandanten

{companies.length} Mandanten verwaltet

{companies.length === 0 ? (

Noch keine Mandanten

Legen Sie Ihren ersten Mandanten an, um loszulegen.

) : (
{companies.map((company) => (
{company.name} {company.legalForm && (

{company.legalForm}

)}
{company._count.invoices} Rechnungen {company._count.customers} Kunden
{company.city && (

{company.zip} {company.city}

)}
))}
)}
); }