// SPDX-License-Identifier: AGPL-3.0-or-later // Copyright (C) 2026 Karim Gabriele Varano import { useEffect, useState } from 'react' import Icon from './components/Icon' import { onMessage, notifyReady } from './lib/rhinoBridge' import ElementeApp, { PropertiesView } from './ElementeApp.jsx' // Satellite-Window — zeigt nur die Properties des aktuell selektierten // Elements in einem groesseren Fenster. Daten kommen vom ElementeBridge // (via STATE-Forward in elemente.py). export default function ElementePropertiesApp() { const [state, setState] = useState({ elements: [], geschosse: [], selection: null, materials: [], hatchPatterns: [], }) useEffect(() => { onMessage('STATE', (s) => setState(prev => ({ ...prev, ...s }))) notifyReady() }, []) const elements = state.elements || [] const selected = elements.find(el => el.id === state.selection) return (