knuth's rename changed TS/TSX filenames but left <script src> tags pointing at old German JS names (akten-neu.js, fristen.js, termine.js, glossar.js, einstellungen.js, gerichte.js, checklisten.js). These 404'd in production.
86 lines
3.9 KiB
TypeScript
86 lines
3.9 KiB
TypeScript
import { h } from "./jsx";
|
|
import { Sidebar } from "./components/Sidebar";
|
|
import { Footer } from "./components/Footer";
|
|
|
|
export function renderDeadlinesNew(): string {
|
|
return "<!DOCTYPE html>" + (
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title data-i18n="fristen.neu.title">Neue Frist — Paliad</title>
|
|
<link rel="stylesheet" href="/assets/global.css" />
|
|
</head>
|
|
<body className="has-sidebar">
|
|
<Sidebar currentPath="/deadlines/new" />
|
|
|
|
<main>
|
|
<section className="tool-page">
|
|
<div className="container container-narrow">
|
|
<div className="tool-header">
|
|
<a href="/deadlines" className="akten-back-link" id="frist-neu-back" data-i18n="fristen.neu.back">← Zurück zur Übersicht</a>
|
|
<h1 data-i18n="fristen.neu.heading">Neue Frist anlegen</h1>
|
|
<p className="tool-subtitle" data-i18n="fristen.neu.subtitle">
|
|
Eine persistente Frist an einer Akte. Sichtbar für alle Personen, die die Akte sehen können.
|
|
</p>
|
|
</div>
|
|
|
|
<form id="frist-neu-form" className="akten-form" autocomplete="off">
|
|
<div className="form-field">
|
|
<label htmlFor="frist-akte" data-i18n="fristen.field.akte">Akte</label>
|
|
<select id="frist-akte" required>
|
|
<option value="" disabled selected data-i18n="fristen.field.akte.choose">Bitte wählen…</option>
|
|
</select>
|
|
<p className="form-hint" id="frist-akte-empty-hint" style="display:none" data-i18n="fristen.field.akte.empty">
|
|
Sie haben noch keine Akte. Bitte zuerst eine Akte anlegen.
|
|
</p>
|
|
</div>
|
|
|
|
<div className="form-field">
|
|
<label htmlFor="frist-title" data-i18n="fristen.field.title">Titel</label>
|
|
<input
|
|
type="text"
|
|
id="frist-title"
|
|
required
|
|
placeholder="z.B. Klageerwiderung einreichen"
|
|
data-i18n-placeholder="fristen.field.title.placeholder"
|
|
/>
|
|
</div>
|
|
|
|
<div className="form-field-row">
|
|
<div className="form-field">
|
|
<label htmlFor="frist-due" data-i18n="fristen.field.due">Fälligkeitsdatum</label>
|
|
<input type="date" id="frist-due" required />
|
|
</div>
|
|
|
|
<div className="form-field">
|
|
<label htmlFor="frist-rule" data-i18n="fristen.field.rule">Regel (optional)</label>
|
|
<select id="frist-rule">
|
|
<option value="" data-i18n="fristen.field.rule.none">Keine Regel</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="form-field">
|
|
<label htmlFor="frist-notes" data-i18n="fristen.field.notes">Notizen (optional)</label>
|
|
<textarea id="frist-notes" rows={3} placeholder="Hinweise, Verweise, nächste Schritte…" data-i18n-placeholder="fristen.field.notes.placeholder" />
|
|
</div>
|
|
|
|
<p className="form-msg" id="frist-neu-msg" />
|
|
|
|
<div className="form-actions">
|
|
<a href="/deadlines" id="frist-neu-cancel" className="btn-cancel" data-i18n="fristen.neu.cancel">Abbrechen</a>
|
|
<button type="submit" className="btn-primary btn-cta-lime" data-i18n="fristen.neu.submit">Frist anlegen</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<Footer />
|
|
<script src="/assets/deadlines-new.js"></script>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|