import { getQuestions, getCategories, getPatterns } from "@/lib/api"; import { QuestionCard } from "@/components/questions/question-card"; import Link from "next/link"; interface SearchParams { difficulty?: string; category?: string; pattern?: string; search?: string; page?: string; } export default async function QuestionsPage({ searchParams, }: { searchParams: Promise; }) { const params = await searchParams; const [questionsResponse, categoriesResponse, patternsResponse] = await Promise.all([ getQuestions({ difficulty: params.difficulty, category: params.category, pattern: params.pattern, search: params.search, page: params.page ? parseInt(params.page) : 1, }), getCategories(), getPatterns(), ]); const difficulties = ["easy", "medium", "hard"]; return (

Questions

All {difficulties.map((d) => ( {d} ))}
Showing {questionsResponse.items.length} of {questionsResponse.total}{" "} questions
{questionsResponse.items.map((question) => ( ))}
{questionsResponse.pages > 1 && (
{Array.from({ length: questionsResponse.pages }, (_, i) => i + 1).map( (page) => ( {page} ) )}
)}
); }