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:
2026-02-10 23:08:00 +01:00
parent 5c8d22ac11
commit d787a24921
31 changed files with 2565 additions and 930 deletions

View File

@@ -213,17 +213,17 @@ function FilteringSettings({
<Input
id="minReviews"
type="number"
min="1"
min="0"
value={settings.autoEliminationMinReviews}
onChange={(e) =>
onChange({
...settings,
autoEliminationMinReviews: parseInt(e.target.value) || 1,
autoEliminationMinReviews: parseInt(e.target.value) || 0,
})
}
/>
<p className="text-xs text-muted-foreground">
Min reviews before auto-elimination applies
Min reviews before auto-elimination applies (0 for AI-only filtering)
</p>
</div>
</div>