- 3 Sichtbarkeitsstufen für Vorlagen: Persönlich / Abteilung / Alle
- Persönliche Vorlagen werden in _benutzer/{email}/ synchronisiert
- Sichtbarkeit direkt in der Liste per Dropdown änderbar
- Warnung beim Verringern der Sichtbarkeit (Server-Löschung)
- Auto-Erkennung von Abteilung + E-Mail via _config/abteilungen.json
- Toast-Benachrichtigungen statt unsichtbare Status-Badges
- Lade-Spinner bei Sync-Operationen
- Sync-Dots mit Symbolen (nicht nur Farbe) für Barrierefreiheit
- Custom Delete-Modal statt browser confirm()
- Collapsible-Sections visuell als klickbar erkennbar
- Token-Feld mit Show/Hide-Toggle
- Inline-Validierung für Template-Namen
- Checkbox-Klickflächen vergrößert + Label-Klick
- Offline-Erkennung mit Banner
- Font-Dropdown Viewport-Fix
- Popup: Prefix-Dropdown verständlicher
- Signaturen: erste Identität automatisch ausgewählt
- README komplett neu geschrieben
109 lines
2.6 KiB
HTML
109 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Vorlagen</title>
|
|
<style>
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body {
|
|
font-family: "Segoe UI", -apple-system, sans-serif;
|
|
width: 280px;
|
|
background: #fafafa;
|
|
color: #333;
|
|
}
|
|
.header {
|
|
padding: 10px 14px;
|
|
background: #4a7c59;
|
|
color: white;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.3px;
|
|
}
|
|
#template-list {
|
|
padding: 6px;
|
|
max-height: 400px;
|
|
overflow-y: auto;
|
|
}
|
|
#template-list button {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 9px 12px;
|
|
margin-bottom: 2px;
|
|
background: white;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 6px;
|
|
text-align: left;
|
|
font-size: 12.5px;
|
|
color: #333;
|
|
cursor: pointer;
|
|
transition: background 0.15s, border-color 0.15s;
|
|
}
|
|
#template-list button:hover {
|
|
background: #e8f0eb;
|
|
border-color: #4a7c59;
|
|
}
|
|
#template-list button:active {
|
|
background: #d0e2d5;
|
|
}
|
|
.footer {
|
|
padding: 8px 14px;
|
|
border-top: 1px solid #e0e0e0;
|
|
text-align: center;
|
|
}
|
|
.footer a {
|
|
font-size: 11px;
|
|
color: #888;
|
|
text-decoration: none;
|
|
}
|
|
.footer a:hover {
|
|
color: #4a7c59;
|
|
text-decoration: underline;
|
|
}
|
|
.prefix-section {
|
|
padding: 8px 10px;
|
|
border-bottom: 1px solid #e0e0e0;
|
|
background: #f3f3f3;
|
|
}
|
|
.prefix-section label {
|
|
display: block;
|
|
font-size: 11px;
|
|
color: #666;
|
|
margin-bottom: 4px;
|
|
}
|
|
.prefix-section select {
|
|
width: 100%;
|
|
padding: 5px 8px;
|
|
font-size: 12px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 4px;
|
|
background: white;
|
|
color: #333;
|
|
}
|
|
.empty-state {
|
|
padding: 20px 14px;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: #888;
|
|
}
|
|
.empty-state a {
|
|
color: #4a7c59;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
}
|
|
.empty-state a:hover { text-decoration: underline; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="header">Vorlage auswählen</div>
|
|
<div id="prefix-section" class="prefix-section" style="display:none;">
|
|
<label for="prefix-select">Textbaustein voranstellen (optional)</label>
|
|
<select id="prefix-select">
|
|
<option value="">— Nichts voranstellen —</option>
|
|
</select>
|
|
<div style="font-size:10px;color:#999;margin-top:2px;">Wird VOR der gewählten Vorlage eingefügt</div>
|
|
</div>
|
|
<div id="template-list"></div>
|
|
<script src="popup.js"></script>
|
|
</body>
|
|
</html>
|