import { notFound } from 'next/navigation'; import { LeagueDetailTemplate } from '@/templates/LeagueDetailTemplate'; import { LeagueDetailPageQuery } from '@/lib/page-queries/page-queries/LeagueDetailPageQuery'; import { LeagueDetailViewDataBuilder } from '@/lib/builders/view-data/LeagueDetailViewDataBuilder'; interface Props { params: { id: string }; } export default async function Page({ params }: Props) { // Execute the PageQuery const result = await LeagueDetailPageQuery.execute(params.id); // Handle different result types if (result.isErr()) { const error = result.getError(); switch (error) { case 'notFound': notFound(); case 'redirect': // In a real app, this would redirect to login notFound(); case 'LEAGUE_FETCH_FAILED': case 'UNKNOWN_ERROR': default: // Return error state return (