import { Suspense } from 'react'; import EmailVerifyPage from './EmailVerifyPage'; import { Main } from '@/app/ui/Main'; import { getDbClient } from '@/app/lib/dbClient'; import { BillingLocation, EmailStatus } from '@/app/lib/db-types'; import { extractShareId, validateShareChecksum } from '@/app/lib/shareChecksum'; import { notFound } from 'next/navigation'; export default async function Page({ params: { id } }: { params: { id: string } }) { // Extract and validate share ID const extracted = extractShareId(id); if (!extracted) { notFound(); } const { locationId, checksum } = extracted; // Validate checksum if (!validateShareChecksum(locationId, checksum)) { notFound(); } // Fetch location to check email status const dbClient = await getDbClient(); const location = await dbClient.collection("lokacije") .findOne( { _id: locationId }, { projection: { tenantEmail: 1, tenantEmailStatus: 1 } } ); if (!location || !location.tenantEmail) { notFound(); } // Check if email is pending verification const isPending = location.tenantEmailStatus === EmailStatus.VerificationPending; return (
Loading...}>
); }