Observer dashboard extraction, PDF reports, jury UX overhaul, and miscellaneous improvements
- Extract observer dashboard to client component, add PDF export button - Add PDF report generator with jsPDF for analytics reports - Overhaul jury evaluation page with improved layout and UX - Add new analytics endpoints for observer/admin reports - Improve round creation/edit forms with better settings - Fix filtering rules page, CSV export dialog, notification bell - Update auth, prisma schema, and various type fixes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -38,9 +38,7 @@ import {
|
||||
GitCompare,
|
||||
UserCheck,
|
||||
Globe,
|
||||
Printer,
|
||||
} from 'lucide-react'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { formatDateOnly } from '@/lib/utils'
|
||||
import {
|
||||
ScoreDistributionChart,
|
||||
@@ -53,6 +51,7 @@ import {
|
||||
JurorConsistencyChart,
|
||||
DiversityMetricsChart,
|
||||
} from '@/components/charts'
|
||||
import { ExportPdfButton } from '@/components/shared/export-pdf-button'
|
||||
|
||||
function OverviewTab({ selectedRoundId }: { selectedRoundId: string | null }) {
|
||||
const { data: programs, isLoading } = trpc.program.list.useQuery({ includeRounds: true })
|
||||
@@ -608,14 +607,13 @@ export default function ObserverReportsPage() {
|
||||
Diversity
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
onClick={() => window.print()}
|
||||
>
|
||||
<Printer className="mr-2 h-4 w-4" />
|
||||
Export PDF
|
||||
</Button>
|
||||
{selectedRoundId && (
|
||||
<ExportPdfButton
|
||||
roundId={selectedRoundId}
|
||||
roundName={rounds.find((r) => r.id === selectedRoundId)?.name}
|
||||
programName={rounds.find((r) => r.id === selectedRoundId)?.programName}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<TabsContent value="overview">
|
||||
|
||||
Reference in New Issue
Block a user