- Responsive sidebar: collapses on mobile with hamburger menu, slide-in animation - Skeleton loaders: dashboard cards, case table, case detail page - Empty states: friendly messages with icons for cases, deadlines, parties, documents - Error states: retry button on dashboard, proper error message on case not found - Form validation: inline error messages on case creation form - German language: fix all missing umlauts (Zurück, wählen, Anhängig, Verfügung, etc.) - Status labels: display German translations instead of raw status values - Transitions: fade-in animations on page load, hover/transition-colors on all interactive elements - Focus states: focus-visible ring for keyboard accessibility - Mobile layout: stacking for filters, forms, tabs; horizontal scroll for tables - Extraction results: card layout on mobile, table on desktop - Missing types: add DashboardData, DeadlineSummary, CaseSummary, ExtractedDeadline etc. - Fix QuickActions links to use correct routes (/cases/new, /ai/extract) - Consistent input focus styles across all forms
29 lines
863 B
TypeScript
29 lines
863 B
TypeScript
"use client";
|
|
|
|
import { DeadlineCalculator } from "@/components/deadlines/DeadlineCalculator";
|
|
import { ArrowLeft } from "lucide-react";
|
|
import Link from "next/link";
|
|
|
|
export default function FristenrechnerPage() {
|
|
return (
|
|
<div className="animate-fade-in space-y-4">
|
|
<div>
|
|
<Link
|
|
href="/fristen"
|
|
className="mb-2 inline-flex items-center gap-1 text-sm text-neutral-500 transition-colors hover:text-neutral-700"
|
|
>
|
|
<ArrowLeft className="h-3.5 w-3.5" />
|
|
Zurück zu Fristen
|
|
</Link>
|
|
<h1 className="text-lg font-semibold text-neutral-900">
|
|
Fristenrechner
|
|
</h1>
|
|
<p className="mt-0.5 text-sm text-neutral-500">
|
|
Berechnen Sie Fristen basierend auf Verfahrensart und Auslösedatum
|
|
</p>
|
|
</div>
|
|
<DeadlineCalculator />
|
|
</div>
|
|
);
|
|
}
|