"use client"; import { useRouter, useSearchParams } from "next/navigation"; import { api } from "~/trpc/react"; import { PageHeader } from "~/components/layout/page-header"; import { PageContent } from "~/components/layout/page-content"; import { Button } from "~/components/ui/button"; import { Tabs, TabsList, TabsTrigger, TabsContent } from "~/components/ui/tabs"; import { Pencil as PencilIcon } from "lucide-react"; import { use } from "react"; import { StudyOverview } from "~/components/studies/study-overview"; import { StudyParticipants } from "~/components/studies/study-participants"; import { StudyMembers } from "~/components/studies/study-members"; import { StudyMetadata } from "~/components/studies/study-metadata"; import { StudyActivity } from "~/components/studies/study-activity"; import { StudyDetailsSkeleton } from "~/components/ui/skeleton"; export default function StudyPage({ params }: { params: Promise<{ id: string }> }) { const router = useRouter(); const searchParams = useSearchParams(); const resolvedParams = use(params); const id = Number(resolvedParams.id); const activeTab = searchParams.get("tab") ?? "overview"; const { data: study, isLoading: isLoadingStudy } = api.study.getById.useQuery({ id }); if (isLoadingStudy) { return ( <> Overview Participants Members Metadata Activity ); } if (!study) { return
Study not found
; } const canEdit = study.role === "admin"; return ( <> {canEdit && ( )} Overview Participants Members Metadata Activity ); }