Mobile friendly, lint correction, typescript error clear

This commit is contained in:
Marcelo
2026-01-16 22:39:16 +00:00
parent 0f88207f3f
commit c183dda383
58 changed files with 7199 additions and 2714 deletions

View File

@@ -0,0 +1,45 @@
import { redirect } from "next/navigation";
import { prisma } from "@/lib/prisma";
import { requireSession } from "@/lib/auth/requireSession";
import { computeFinancialImpact } from "@/lib/financial/impact";
import FinancialClient from "./FinancialClient";
const RANGE_MS = 7 * 24 * 60 * 60 * 1000;
export default async function FinancialPage() {
const session = await requireSession();
if (!session) redirect("/login?next=/financial");
const membership = await prisma.orgUser.findUnique({
where: { orgId_userId: { orgId: session.orgId, userId: session.userId } },
select: { role: true },
});
const role = membership?.role ?? null;
if (role !== "OWNER") {
return <FinancialClient initialRole={role ?? "GUEST"} />;
}
const machines = await prisma.machine.findMany({
where: { orgId: session.orgId },
orderBy: { createdAt: "desc" },
select: { id: true, name: true, location: true },
});
const end = new Date();
const start = new Date(end.getTime() - RANGE_MS);
const impact = await computeFinancialImpact({
orgId: session.orgId,
start,
end,
includeEvents: false,
});
return (
<FinancialClient
initialRole={role}
initialMachines={machines}
initialImpact={{ ok: true, currencySummaries: impact.currencySummaries }}
/>
);
}