# Changelog Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert. Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/). ## [1.4.3] – 2026-05-20 — Feature: Einzelne Symbole aus Bibliothek wählen ### Neu - **Admin → Symbol-Manager**: Neuer Tab „Bibliothek“ zeigt alle 117 globalen Symbole gruppiert nach Kategorie. Pro Symbol ein „+“-Button, um es mit einem Klick zu „Meinen Symbolen“ hinzuzufügen (via `POST /api/tenant/symbols` mit `iconId`). ## [1.4.2] – 2026-05-20 — Hotfix: Admin leer & Legacy-Symbole ### Behoben - **Admin Symbol-Manager**: Liest jetzt korrekt `categories` statt `groups` aus der API-Response von `/api/tenant/symbols?grouped=true`. - **Datenmigration (Step 18)**: Neue Migration in `prisma/migrate.js` migriert bestehende `tenantSymbols` automatisch: setzt fehlende `name`, `svgPath`, `categoryId` (Default-Kategorie „Meine Symbole“) und `migratedFromIconId`. Behebt „Leichen“ mit broken images. ## [1.4.1] – 2026-05-20 — Hotfix: Production 500 & Null-Crash ### Behoben - **Migration `prisma/migrate.js`**: `ALTER TABLE ... ADD COLUMN ... REFERENCES` auf PostgreSQL mit bestehenden Daten führte zu stillen Fehlern. Spalte `categoryId` wird jetzt ohne Inline-REFERENCES angelegt; Foreign-Key wird in separatem idempotenten Schritt (15b) erstellt. - **Frontend `right-sidebar.tsx`**: `s.name.toLowerCase()` crashte wenn Symbol-Name `null` war. Optionaler Fallback auf leeren String hinzugefügt. ## [1.4.0] – 2026-05-20 — Phase 1: Symbol-Architektur Redesign ### Neu - **SymbolTemplate** — globale, read-only Vorlagen-Pakete aus `public/signaturen/*.svg` - **TenantCategory** — mandantenspezifische, frei anlegbare Kategorien für Symbole - **TenantSymbol Refactor** — Symbole sind jetzt vollständig mandantenspezifisch (`name`, `svgPath`, `categoryId`, `isUploaded`) - Upload-Dialog für eigene SVG/PNG/JPEG-Symbole mit Drag & Drop - Import-Dialog für Vorlagen-Pakete (z.B. "Feuerwehr Schweiz") ### APIs - `GET /api/templates` — listet verfügbare Template-Pakete mit Vorschau - `POST /api/templates/import` — importiert ein Paket als TenantSymbols - `GET/POST/PATCH/DELETE /api/tenant/categories` — CRUD für Tenant-Kategorien - `GET/POST/PATCH/DELETE /api/tenant/symbols` — erweitert: Gruppierung, Upload, JSON-Import - `GET /api/tenant/symbols/[id]/image` — liefert TenantSymbol-Bilder aus MinIO oder `public/` - `GET /api/icons/[id]/image` — TenantSymbol-First Lookup, dann Legacy-Fallback - `GET /api/icons` — liefert jetzt auch `tenantSymbols` und `tenantSymbolGroups` ### UI - **Admin → Symbol-Manager**: komplett neues Layout mit 3 Tabs (Symbole, Kategorien, Import) - **Sidebar (RightSidebar)**: zeigt Tenant-Symbole jetzt nach Kategorie gruppiert an ### Migration & Seed - `prisma/migrations/20260520_symbol_architecture/migration.sql` - `prisma/seed-symbol-templates.ts` - `prisma/migrate-tenant-symbols.ts` - Alle Seeds idempotent (`upsert` statt `deleteMany`) --- ## [1.3.5] – vor 2026-05-20 ### Bestehende Features - Karten-Zeichenwerkzeuge, Journal, Einsatzrapport, Projekte, Benutzerverwaltung, Mandantenverwaltung