import type { Metadata } from 'next'; import { verifySession } from '@/lib/auth/dal'; import { fetchCommonCodes } from '@/lib/data/repositories/common-code-repository'; import { fetchMerchantDetailCandidates } from '@/lib/data/repositories/merchant-detail-repository'; import { CODE_GROUP } from '@/lib/domain/common-code'; import { MerchantDetailForm } from '../[frcsNo]/_components/merchant-detail-form'; export const metadata: Metadata = { title: '가맹몰 상세 정보' }; export const dynamic = 'force-dynamic'; interface PageProps { searchParams: Promise>; } /** 등록 화면 — 상세가 없는 가맹점 중 하나를 골라 상세를 붙인다. `?frcsNo=`로 미리 고를 수 있다. */ export default async function Page({ searchParams }: PageProps) { await verifySession(); const params = await searchParams; const requested = Array.isArray(params.frcsNo) ? params.frcsNo[0] : params.frcsNo; const [candidates, categories] = await Promise.all([ fetchMerchantDetailCandidates(), fetchCommonCodes(CODE_GROUP.merchantType), ]); const initialFrcsNo = candidates.some((row) => row.id === requested) ? requested : undefined; return ( ); }