Files
yourwillyourwish/app/account/page.tsx
2026-02-06 21:44:04 -06:00

53 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { getSession } from "../../lib/auth/session";
import Link from "next/link";
export default async function AccountPage() {
const session = await getSession();
if (!session) {
return (
<main className="max-w-5xl mx-auto px-6 py-16">
<h1 className="text-3xl font-bold text-slate-900 dark:text-white">👤 Account</h1>
<p className="text-gray-600 dark:text-gray-400 mt-3">Please sign in to view your account.</p>
</main>
);
}
if (session.forcePasswordReset) {
return (
<main className="max-w-5xl mx-auto px-6 py-16">
<h1 className="text-3xl font-bold text-slate-900 dark:text-white"> Action required</h1>
<p className="text-gray-600 dark:text-gray-400 mt-3">
You must reset your password before continuing.
</p>
<Link className="inline-block mt-6 btn-primary" href="/account/reset-password">
🔐 Reset password
</Link>
</main>
);
}
return (
<main className="max-w-5xl mx-auto px-6 py-16">
<h1 className="text-3xl font-bold text-slate-900 dark:text-white">👤 Account</h1>
<p className="text-gray-600 dark:text-gray-400 mt-3">
Signed in as <span className="font-semibold text-primary">{session.email}</span>
</p>
<div className="mt-10 space-y-3 flex flex-col w-fit">
<Link className="btn-secondary" href="/account/settings">
Settings
</Link>
<Link className="btn-secondary" href="/account/webinars">
📚 My Webinars
</Link>
{session.role === "ADMIN" && (
<Link className="btn-primary" href="/admin">
🔧 Admin Dashboard
</Link>
)}
</div>
</main>
);
}