"use client"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "~/components/ui/card"; import { Badge } from "~/components/ui/badge"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "~/components/ui/tabs"; import { LineChart, BarChart, Clock, Database, FileText } from "lucide-react"; import { formatDistanceToNow } from "date-fns"; interface TrialAnalysisViewProps { trial: { id: string; status: string; startedAt: Date | null; completedAt: Date | null; duration: number | null; experiment: { name: string }; participant: { participantCode: string }; eventCount?: number; mediaCount?: number; }; } export function TrialAnalysisView({ trial }: TrialAnalysisViewProps) { return (
Status
{trial.status.replace("_", " ")}

{trial.completedAt ? `Completed ${formatDistanceToNow(new Date(trial.completedAt), { addSuffix: true })}` : "Not completed"}

Duration
{trial.duration ? `${Math.floor(trial.duration / 60)}m ${trial.duration % 60}s` : "N/A"}

Total execution time

Events Logged
{trial.eventCount ?? 0}

System & user events

Media Files
{trial.mediaCount ?? 0}

Recordings & snapshots

Overview Event Log Charts Analysis Overview Summary of trial execution for {trial.participant.participantCode} in experiment {trial.experiment.name}.

Detailed analysis visualizations coming soon.

Event Log Chronological record of all trial events.

Event log view placeholder.

); }