You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.1 KiB
TypeScript
54 lines
2.1 KiB
TypeScript
import { auth, signOut } from '@/auth';
|
|
import { Button } from '@/components/ui/button';
|
|
import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card';
|
|
|
|
export default async function DashboardPage() {
|
|
const session = await auth();
|
|
|
|
return (
|
|
<div className="flex flex-col min-h-screen p-8 bg-neutral-50 dark:bg-neutral-950">
|
|
<header className="flex justify-between items-center bg-white dark:bg-neutral-900 shadow-sm p-4 rounded-lg mb-8">
|
|
<h1 className="text-xl font-bold">Dashboard</h1>
|
|
<div className="flex gap-4 items-center">
|
|
<p className="text-sm font-medium">Logged in as: {session?.user?.email}</p>
|
|
<form
|
|
action={async () => {
|
|
'use server';
|
|
await signOut();
|
|
}}
|
|
>
|
|
<Button variant="outline">Sign out</Button>
|
|
</form>
|
|
</div>
|
|
</header>
|
|
|
|
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Total Balance</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-3xl font-bold">$124,500.00</p>
|
|
</CardContent>
|
|
</Card>
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Monthly Spend</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-3xl font-bold text-red-600">-$24,300.00</p>
|
|
</CardContent>
|
|
</Card>
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Pending Approvals</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<p className="text-3xl font-bold text-yellow-600">5</p>
|
|
</CardContent>
|
|
</Card>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|