"use client"; import { useSearchParams } from "next/navigation"; import { useRouter } from "next/navigation"; import { Suspense, useEffect, useState } from "react"; import Header from "@/components/Header"; import DestructibleAlert from "@/components/DestructibleAlert"; import BackgroundWrapper from "@/components/BackgroundWrapper"; import { API_URL } from "@/lib/auth"; import { Loader, RefreshCw } from "lucide-react"; interface Mock { id: string; title: string; rating: number; } function PaperPageContent() { const router = useRouter(); const searchParams = useSearchParams(); const name = searchParams.get("name") || ""; const [questions, setQuestions] = useState(null); const [errorMsg, setErrorMsg] = useState(null); const [refreshing, setRefreshing] = useState(false); async function fetchMocks() { try { const questionResponse = await fetch(`${API_URL}/mocks`, { method: "GET", }); const fetchedQuestionData: Mock[] = await questionResponse.json(); setQuestions(fetchedQuestionData); } catch (error) { setErrorMsg(error instanceof Error ? error.message : "An error occurred"); } } useEffect(() => { if (name) { fetchMocks(); } }, [name]); const onRefresh = async () => { setRefreshing(true); await fetchMocks(); }; if (errorMsg) { return (
{/* */}
); } return (
{questions ? ( questions.map((mock) => (
)) ) : (

Loading...

)}
{/* */}
); } export default function PaperScreen() {

Loading...

} >
; }