# 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
