feat(08-01): registry foundation for 4 new widget types + Calculator widget (GREEN)
- widget-registry.tsx: extend WidgetType union with calculator/favorites/link/stopwatch - widget-registry.tsx: add WIDGET_CONSTRAINTS entries with per-widget grid constraints (DASH-11) - widget-registry.tsx: add SVG icons (CalculatorIcon, FavoritesIcon, LinkIcon, StopwatchIcon) - widget-registry.tsx: add WIDGET_REGISTRY entries and wire functions for all 4 new types - calculator-widget.tsx: full arithmetic implementation ported from personal-dashboard (parseDisplay, formatNumber, calculate, keyboard handler with stopPropagation) - widget-catalog-modal.tsx: extend WIDGET_TYPES to include all 8 types - create-widget.dto.ts: extend @IsIn to accept 8 widget types (T-08-01 mitigated) - page.tsx: import CalculatorWidget and call wireCalculatorWidget() - de.json / en.json: add i18n keys for calculator, favorites, link, stopwatch - All 16 tests passing (GREEN)
This commit is contained in:
@@ -192,6 +192,38 @@
|
||||
"description": "Freitext-Notizen mit Markdown",
|
||||
"defaultTitle": "Notiz",
|
||||
"autosaveError": "Speichern fehlgeschlagen"
|
||||
},
|
||||
"calculator": {
|
||||
"name": "Taschenrechner",
|
||||
"description": "Grundrechenarten mit Tastatureingabe"
|
||||
},
|
||||
"favorites": {
|
||||
"name": "Favoriten",
|
||||
"description": "Schnellzugriff auf Links",
|
||||
"loading": "Favoriten werden geladen...",
|
||||
"empty": "Noch keine Favoriten.",
|
||||
"addTitle": "Titel",
|
||||
"addUrl": "URL",
|
||||
"addButton": "Hinzufuegen",
|
||||
"listView": "Liste",
|
||||
"gridView": "Kacheln",
|
||||
"editButton": "Favorit bearbeiten",
|
||||
"deleteButton": "Favorit loeschen",
|
||||
"saveButton": "Speichern",
|
||||
"cancelButton": "Abbrechen",
|
||||
"error": "Fehler beim Laden der Favoriten"
|
||||
},
|
||||
"link": {
|
||||
"name": "Link",
|
||||
"description": "Einzelner Schnellzugriff-Link"
|
||||
},
|
||||
"stopwatch": {
|
||||
"name": "Stoppuhr",
|
||||
"description": "Zeitmessung mit Rundenzeiten",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"reset": "Reset",
|
||||
"lap": "Runde"
|
||||
}
|
||||
},
|
||||
"admin": {
|
||||
|
||||
Reference in New Issue
Block a user