diff --git a/.gitignore b/.gitignore index 252e52a..d218ddf 100644 --- a/.gitignore +++ b/.gitignore @@ -149,6 +149,8 @@ webui/.module-test-build/ webui/.policy-test-build/ webui/.template-preview-test-build/ webui/.import-test-build/ +webui/dist-conformance/ +webui/test-results/ # Security audit reports audit-reports/ diff --git a/webui/conformance/ConformanceApp.tsx b/webui/conformance/ConformanceApp.tsx new file mode 100644 index 0000000..294c75a --- /dev/null +++ b/webui/conformance/ConformanceApp.tsx @@ -0,0 +1,210 @@ +import { useMemo, useState } from "react"; +import { FileText, GitBranch, Inbox, Search, ShieldCheck } from "lucide-react"; +import { useLocation } from "react-router"; +import ActionToolbar, { ToolbarGroup } from "../src/components/ActionToolbar"; +import Button from "../src/components/Button"; +import Card from "../src/components/Card"; +import ContentGrid, { FormGrid } from "../src/components/ContentGrid"; +import ContentSection from "../src/components/ContentSection"; +import CountBadge from "../src/components/CountBadge"; +import DefinitionNodeIcon from "../src/components/DefinitionNodeIcon"; +import DefinitionPalette, { DefinitionPaletteGroup, DefinitionPaletteItem } from "../src/components/DefinitionPalette"; +import DescriptionList, { DescriptionItem } from "../src/components/DescriptionList"; +import Dialog from "../src/components/Dialog"; +import { DialogForm, DialogSection } from "../src/components/DialogAnatomy"; +import FilterBar from "../src/components/FilterBar"; +import FloatingStatus from "../src/components/FloatingStatus"; +import FormSection from "../src/components/FormSection"; +import MetricCard from "../src/components/MetricCard"; +import MetricGrid from "../src/components/MetricGrid"; +import PageLayout from "../src/components/PageLayout"; +import SelectionList, { SelectionListItem, SelectionListItemContent } from "../src/components/SelectionList"; +import StatePanel from "../src/components/StatePanel"; +import WorkspaceFrame from "../src/components/WorkspaceFrame"; +import WorkspaceLayout from "../src/components/WorkspaceLayout"; +import BreadcrumbBar from "../src/layout/BreadcrumbBar"; +import { useGuardedNavigate } from "../src/components/UnsavedChangesGuard"; +import { + createQuickAccessLaunchContext, + quickAccessLaunchState +} from "../src/platform/launchContext"; +import type { AuthInfo } from "../src/types"; + +export default function ConformanceApp() { + const [dialogOpen, setDialogOpen] = useState(false); + + return ( +
+ setDialogOpen(true)}>Prüfdialog öffnen} + > +
+

Aktionen, Filter und Status

+ + + + + + + + + + + + + 27 + + + } /> + } /> + Erneut versuchen} /> + +
+ +
+

Kennzahlen und Eigenschaften

+ + + + + + + +

Nachvollziehbare Entscheidung

+ + A-2026-004218 + Fachbereich Öffentlicher Raum und nachhaltige Mobilität + 18. August 2026, 14:42 Uhr + +
+
+ +
+

Listen- und Arbeitsbereich

+ + + + } title="Anwohnerparkausweis" description="A-2026-004218 · Prüfung läuft" /> + + + } title="Sondernutzung öffentlicher Fläche" description="A-2026-004219 · Rückfrage offen" /> + + + } + > + Bearbeiten}> +

Die Identität wurde geprüft. Ein aktueller Wohnsitznachweis muss noch bestätigt werden.

+ + + + + + +
+
+
+
+ +
+

Definitionsarbeitsbereich

+
+ + + } label="Bedingung prüfen" /> + } label="Freigabe anfordern" /> + + + + + Automatische Prüfung läuft … + +
+
+ + +
+ + setDialogOpen(false)} + footer={<>} + > + event.preventDefault()}> + +