import type { Metadata } from 'next'; import { verifySession } from '@/lib/auth/dal'; import { fetchSchoolGradeCodes } from '@/lib/data/repositories/common-code-repository'; import { fetchContents } from '@/lib/data/repositories/content-repository'; import { parseContentQuery } from '@/lib/domain/content-query'; import { ComicsList } from './_components/comics-list'; export const metadata: Metadata = { title: '4컷금융만화' }; export const dynamic = 'force-dynamic'; interface PageProps { searchParams: Promise>; } export default async function Page({ searchParams }: PageProps) { await verifySession(); const { schools, gradesBySchool } = await fetchSchoolGradeCodes(); const query = parseContentQuery('comic', await searchParams); const { items, totalCount, isTotalCountExact } = await fetchContents('comic', query); const totalPages = isTotalCountExact ? Math.max(1, Math.ceil(totalCount / query.pageSize)) : query.page + 1; const currentPage = Math.min(query.page, totalPages); return ( ); }