v1.3.0: Refactoring Phase 3+4, Symbol-Verwaltung Redesign, Schlauch-Labels Fix

- Refactoring: Error Boundaries, apiFetch Wrapper, Socket Status-Tracking
- Refactoring: UI Kontrast (theme-aware colors), unused imports bereinigt
- Symbol-Verwaltung: Neues Split-Panel (Meine Symbole + Bibliothek)
- Symbol-Verwaltung: Umbenennen (TLF rot/blau), Duplikate erlaubt
- Symbol-Verwaltung: Karten-Sidebar zeigt eigene Symbole bevorzugt
- Schlauch-Labels: Groessere Schrift (13px/10px), verschiebbar (Drag)
- Schema: TenantSymbol customName, sortOrder, unique constraint entfernt
- Open Source Referenz entfernt (kostenloses Projekt)
This commit is contained in:
Pepe Ziberi
2026-02-25 00:06:39 +01:00
parent 8ddeb7b377
commit 5917fa88ad
30 changed files with 3110 additions and 2120 deletions

70
src/types/index.ts Normal file
View File

@@ -0,0 +1,70 @@
export interface Project {
id: string
title: string
location?: string
description?: string
einsatzleiter?: string
journalfuehrer?: string
mapCenter: { lng: number; lat: number }
mapZoom: number
isLocked: boolean
editingById?: string | null
editingUserName?: string | null
editingStartedAt?: string | null
planImageKey?: string | null
planBounds?: { north: number; south: number; east: number; west: number } | null
createdAt: string
updatedAt: string
}
export interface DrawFeature {
id: string
type: string
geometry: {
type: string
coordinates: number[] | number[][] | number[][][]
}
properties: Record<string, any>
}
// Mapbox Feature Types
export type Feature = {
id?: string | number
type: 'Feature'
geometry: {
type: string
coordinates: any
}
properties: Record<string, any>
}
export type DrawMode =
| 'select'
| 'point'
| 'linestring'
| 'polygon'
| 'rectangle'
| 'circle'
| 'freehand'
| 'text'
| 'arrow'
| 'measure'
| 'dangerzone'
| 'eraser'
export interface JournalEntry {
id: string
type: 'TEXT' | 'IMAGE' | 'AUDIO' | 'SOMA' | 'DANGER'
content?: string
timestamp: string
userId?: string
userName?: string
userRole?: string
isDone?: boolean
fileUrl?: string
fileKey?: string
somaTemplateId?: string
somaChecked?: boolean
isCorrected?: boolean
correctionOfId?: string
}