Projektdaten in Project-Settings + Swisstopo-Adress-Prefill

Schema-Erweiterung:
- _PROJECT_SETTINGS_DEFAULTS hat jetzt 'project'-Block mit
  name / number / address / bauherr / architekt / notes / projectZeroMum
- _normalize_project_meta stripped Strings + clampt mum als float
- load/save_project_settings handeln das 'project'-feld
- save_project_settings spiegelt projectZeroMum auch in den Legacy-Key
  dossier_project_zero_mum (fuer Geschoss-Settings-Dialog)
- load_project_settings liest Legacy-Key als Fallback wenn neuer Wert
  noch nicht gesetzt

UI:
- InlineTextField + TextareaField Helpers (Pill-Stil)
- Projektdaten-Section in Voreinstellungen-Tab:
  Name, Projekt-Nr., Adresse, Bauherrschaft, Architekt:in,
  EG-Nullpunkt m.ü.M (mit Hinweis auf Swisstopo-Nutzung), Notizen

Swisstopo:
- _cmd_open_swisstopo_dialog laedt Projekt-Adresse + sendet projectAddress
  im SWISSTOPO_STATE
- SwisstopoApp: vorbelegt searchText mit projectAddress wenn Feld leer
  ist (User-Input wird nicht ueberschrieben)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 03:21:19 +02:00
parent a597b58c93
commit 8f691e37c4
4 changed files with 164 additions and 22 deletions
+6 -1
View File
@@ -88,8 +88,13 @@ export default function SwisstopoApp() {
const logRef = useRef(null)
useEffect(() => {
onMessage('SWISSTOPO_STATE', ({ ebenen }) => {
onMessage('SWISSTOPO_STATE', ({ ebenen, projectAddress }) => {
if (Array.isArray(ebenen)) setEbenen(ebenen)
// Projekt-Adresse aus Project-Settings als Vorschlag — nur belegen
// wenn das Feld noch leer ist (User-Input nicht ueberschreiben).
if (projectAddress) {
setSearchText(prev => prev && prev.trim() ? prev : projectAddress)
}
})
onMessage('GEOCODE_RESULT', ({ result }) => {
setSearching(false)