import { h } from "./jsx"; import { Sidebar } from "./components/Sidebar"; import { PaliadinWidget } from "./components/PaliadinWidget"; import { BottomNav } from "./components/BottomNav"; import { Footer } from "./components/Footer"; import { PWAHead } from "./components/PWAHead"; // Slice 1 (t-paliad-179) — the dedicated abstract-browse surface for // procedural shape. Same backend (POST /api/tools/fristenrechner) + // same renderer module (./client/views/verfahrensablauf-core) as // /tools/fristenrechner; this page strips the Step 1 Akte picker / // Step 2 cards / Pathway A wizard / Pathway B cascade / save modal, // leaving just: proceeding-type tile picker + trigger date + court // picker + result panel. Variant chips, lane view and compare arrive in // Slices 2-4. interface ProceedingDef { code: string; i18nKey: string; name: string; } function proceedingBtn(p: ProceedingDef): string { return ( ); } const UPC_TYPES: ProceedingDef[] = [ { code: "upc.inf.cfi", i18nKey: "deadlines.upc.inf.cfi", name: "Verletzungsverfahren" }, { code: "upc.rev.cfi", i18nKey: "deadlines.upc.rev.cfi", name: "Nichtigkeitsklage" }, { code: "upc.ccr.cfi", i18nKey: "deadlines.upc.ccr.cfi", name: "Widerklage auf Nichtigkeit" }, { code: "upc.pi.cfi", i18nKey: "deadlines.upc.pi.cfi", name: "Einstw. Maßnahmen" }, { code: "upc.apl.merits", i18nKey: "deadlines.upc.apl.merits", name: "Berufung" }, { code: "upc.dmgs.cfi", i18nKey: "deadlines.upc.dmgs.cfi", name: "Schadensbemessung" }, { code: "upc.disc.cfi", i18nKey: "deadlines.upc.disc.cfi", name: "Bucheinsicht" }, { code: "upc.apl.cost", i18nKey: "deadlines.upc.apl.cost", name: "Berufung Kosten" }, { code: "upc.apl.order", i18nKey: "deadlines.upc.apl.order", name: "Berufung Anordnungen" }, ]; // DE proceedings split by type (Verletzung / Nichtigkeit) per m's // 2026-05-18 ask. Labels are parallel: (), // so a user scanning the picker sees the instance-and-role at a glance // without one tile reading "Berufung OLG" and another "Nichtigkeits- // verfahren". Sub-group headers convey the type grouping. Combined- // timeline behaviour (LG→OLG→BGH as one calc) is filed as m/paliad#41. const DE_INF_TYPES: ProceedingDef[] = [ { code: "de.inf.lg", i18nKey: "deadlines.de.inf.lg", name: "LG (1. Instanz)" }, { code: "de.inf.olg", i18nKey: "deadlines.de.inf.olg", name: "OLG (Berufung)" }, { code: "de.inf.bgh", i18nKey: "deadlines.de.inf.bgh", name: "BGH (Revision / NZB)" }, ]; const DE_NULL_TYPES: ProceedingDef[] = [ { code: "de.null.bpatg", i18nKey: "deadlines.de.null.bpatg", name: "BPatG (1. Instanz)" }, { code: "de.null.bgh", i18nKey: "deadlines.de.null.bgh", name: "BGH (Berufung)" }, ]; const EPA_TYPES: ProceedingDef[] = [ { code: "epa.opp.opd", i18nKey: "deadlines.epa.opp.opd", name: "Einspruchsverfahren" }, { code: "epa.opp.boa", i18nKey: "deadlines.epa.opp.boa", name: "Beschwerdeverfahren" }, { code: "epa.grant.exa", i18nKey: "deadlines.epa.grant.exa", name: "EP-Erteilungsverfahren" }, ]; const DPMA_TYPES: ProceedingDef[] = [ { code: "dpma.opp.dpma", i18nKey: "deadlines.dpma.opp.dpma", name: "Einspruch DPMA" }, { code: "dpma.appeal.bpatg", i18nKey: "deadlines.dpma.appeal.bpatg", name: "Beschwerde BPatG (DPMA)" }, { code: "dpma.appeal.bgh", i18nKey: "deadlines.dpma.appeal.bgh", name: "Rechtsbeschwerde BGH" }, ]; export function renderVerfahrensablauf(): string { const today = new Date().toISOString().split("T")[0]; return "" + ( Verfahrensablauf — Paliad

Verfahrensablauf

Typischen Verfahrensablauf einsehen — Verfahrensart wählen, Datum optional setzen.

{/* Verfahrensart picker (single-tile mode — same DOM ids as /tools/fristenrechner so the shared renderer module and court-picker primitives bind without parameterisation). */}

1 Verfahrensart wählen

UPC

{UPC_TYPES.map((p) => proceedingBtn(p))}

Deutsche Gerichte

Verletzungsverfahren
{DE_INF_TYPES.map((p) => proceedingBtn(p))}
Nichtigkeitsverfahren
{DE_NULL_TYPES.map((p) => proceedingBtn(p))}

EPA

{EPA_TYPES.map((p) => proceedingBtn(p))}

DPMA

{DPMA_TYPES.map((p) => proceedingBtn(p))}