40 lines
1.0 KiB
TypeScript

/* eslint-disable @typescript-eslint/no-explicit-any */
import { redirect, notFound } from 'next/navigation'
import { createClient } from '@/lib/supabase/server'
import QuizEditorClient from './QuizEditorClient'
export default async function QuizEditPage({
params,
}: {
params: Promise<{ id: string }>
}) {
const { id } = await params
const supabase = await createClient()
const db = supabase as any
const { data: { user }, error: authError } = await supabase.auth.getUser()
if (authError || !user) redirect('/login')
const { data: quiz, error } = await db
.from('quizzes')
.select(`
id, title, updated_at,
subchapter:subchapters(id, name, category:categories(id, name)),
questions(
id, question_text, explanation, order,
answers(id, answer_text, is_correct)
)
`)
.eq('id', id)
.eq('author_id', user.id)
.single()
if (error || !quiz) notFound()
// Trier les questions par ordre
quiz.questions?.sort((a: any, b: any) => a.order - b.order)
return <QuizEditorClient quiz={quiz} />
}