Files
vereinskalender/app/page.tsx
2026-01-18 00:40:01 +01:00

32 lines
1.0 KiB
TypeScript

import { getServerSession } from "next-auth";
import { redirect } from "next/navigation";
import CalendarBoard from "../components/CalendarBoard";
import { authOptions } from "../lib/auth";
import { getAccessSettings, getEmailVerificationRequired } from "../lib/system-settings";
export default async function HomePage() {
const session = await getServerSession(authOptions);
const { publicAccessEnabled } = await getAccessSettings();
const emailVerificationRequired = await getEmailVerificationRequired();
if (!session?.user && !publicAccessEnabled) {
redirect("/login");
}
const isBlocked =
session?.user &&
(session.user.status !== "ACTIVE" ||
(emailVerificationRequired && session.user.emailVerified === false));
return (
<div className="space-y-8">
{isBlocked ? (
<div className="card-muted text-center">
<p className="text-slate-700">
Dein Konto wartet auf Freischaltung durch einen Admin.
</p>
</div>
) : (
<CalendarBoard />
)}
</div>
);
}