Files
gridpilot.gg/apps/website/app/teams/[id]/page.tsx
2026-01-14 10:51:05 +01:00

24 lines
946 B
TypeScript

import { notFound } from 'next/navigation';
import { TeamDetailPageQuery } from '@/lib/page-queries/page-queries/TeamDetailPageQuery';
import { TeamDetailViewDataBuilder } from '@/lib/builders/view-data/TeamDetailViewDataBuilder';
import { TeamDetailPageClient } from './TeamDetailPageClient';
export default async function Page({ params }: { params: { id: string } }) {
const result = await TeamDetailPageQuery.execute(params.id);
switch (result.status) {
case 'ok':
const viewData = TeamDetailViewDataBuilder.build(result.dto);
return <TeamDetailPageClient viewData={viewData} />;
case 'notFound':
notFound();
case 'redirect':
// This would typically use redirect() from next/navigation
// but we need to handle it at the page level
return null;
case 'error':
// For now, treat errors as not found
// In production, you might want a proper error page
notFound();
}
}