{
+ if (val === '__save__') {
+ const n = (window.prompt('Name für neuen Stempel-Stil:', 'Stil') || '').trim()
+ if (!n) return
+ saveRaumStil('', n, {
+ font: raum.font || '',
+ bold: !!raum.bold,
+ italic: !!raum.italic,
+ txtH: raum.txtH,
+ txtModus: raum.txtModus || 'fix',
+ align: raum.align || 'mid',
+ rundung: raum.rundung || '',
+ fuellung: raum.fuellung || '',
+ showSia: !!raum.showSia,
+ layout: Array.isArray(raum.layout) ? raum.layout : [],
+ })
+ return
+ }
+ if (val === '__delete__') {
+ if (activeStilId &&
+ window.confirm(`Stil "${stilList.find(s => s.id === activeStilId)?.name}" löschen?`))
+ deleteRaumStil(activeStilId)
+ return
+ }
+ if (val) applyRaumStil(val, [raum.id])
+ }
+
const [name, setName] = useState(raum.name || 'Raum')
const [nummer, setNummer] = useState(raum.nummer || '')
const [funktion, setFunktion] = useState(raum.funktion || '')
@@ -944,6 +980,25 @@ function RaumProperties({ raum, geschosse, onUpdate, onDelete, hatchPatterns, fo
+ {/* Stempel-Stil Preset-Picker — apply einer gespeicherten Visual-Vorlage
+ auf den Raum. "+ Aktuell speichern" frischt die Liste mit den
+ jetzigen Settings als neuen Stil. Stile sind per-Doc. */}
+
+ Stil
+
+
+