36 lines
1017 B
TypeScript
36 lines
1017 B
TypeScript
import { notFound } from 'next/navigation';
|
|
import QuestionnaireDetailsPage from '@/components/questionnaire/QuestionnaireDetailsPage';
|
|
import { questionnairesZh } from '@/questionairies/zh';
|
|
import { Questionnaire as QuestionnaireType } from '@/types';
|
|
|
|
interface PageProps {
|
|
params: Promise<{ id: string }>;
|
|
}
|
|
|
|
export default async function QuestionnaireDetailPage({ params }: PageProps) {
|
|
const { id } = await params;
|
|
const questionnaire = questionnairesZh.find((q) => q.id === id);
|
|
|
|
if (!questionnaire) {
|
|
return notFound();
|
|
}
|
|
|
|
const cleanQuestionnaire = {
|
|
id: questionnaire.id,
|
|
title: questionnaire.title,
|
|
description: questionnaire.description,
|
|
category: questionnaire.category,
|
|
tags: questionnaire.tags,
|
|
time: questionnaire.time,
|
|
evaluation: questionnaire.evaluation,
|
|
details: questionnaire.details,
|
|
questions: questionnaire.questions,
|
|
};
|
|
|
|
return (
|
|
<QuestionnaireDetailsPage
|
|
questionnaire={cleanQuestionnaire as QuestionnaireType}
|
|
/>
|
|
);
|
|
}
|