// site-illustrations.jsx // Geometrische Illustrations-Schemes für die Splash-Pfade. // Alle nehmen { accent, soft, bg, mood } und sind responsiv. function AltbauIllustration({ accent = "#3ABDD0", soft = "#8DDBEA", bg = "#071520", animate = false }) { // Stilisiertes Bestandshaus mit kabellos nachgerüsteten Komponenten: // Schalter (Shelly), Lampen, Sensoren, Funkwellen return ( {/* Bestandshaus — schmales Steilhaus mit altem Charakter */} {/* Sockel */} {/* Hauskörper */} {/* Schornstein */} {/* Dach-Linien */} {/* Stockwerk-Trennung */} {/* Fenster — alt, kleinteilig (4 Stück) */} {[ { x: 210, y: 250 }, { x: 350, y: 250 }, { x: 210, y: 325 }, { x: 350, y: 325 }, ].map((f, i) => ( ))} {/* Tür */} {/* Garage als Anbau rechts — Pultdach */} {/* Pultdach (rechts höher zum Haus hin) */} {/* Dachkante */} {/* Garagentor mit horizontalen Lamellen (rollt bei Hover hoch) */} {/* Lamellen-Gruppe */} {animate && ( )} {[339, 347, 355, 363, 371].map((y, i) => ( ))} {/* Innen-Andeutung wenn offen */} {animate && ( {/* Werkbank/Regal */} )} {/* Sensor / Bewegungsmelder über Garage (Funk) */} {animate && } {animate && } {animate && } {/* Smart Bulbs in Fenstern (warmer Glow) */} {[{x:230,y:270},{x:370,y:270},{x:230,y:345},{x:370,y:345}].map((b, i) => ( {animate && } ))} {/* Schalter / Aktoren hinter der Wand (gestrichelt, "im Verteiler") — herstellerneutral */} {[215, 275, 335, 395].map((cx, i) => ( ))} {/* Funkwellen — diagonal von Modulen zu Bulbs */} {[ { fx: 215, fy: 395, tx: 230, ty: 273 }, { fx: 395, fy: 395, tx: 370, ty: 273 }, { fx: 275, fy: 395, tx: 230, ty: 348 }, { fx: 335, fy: 395, tx: 370, ty: 348 }, ].map((p, i) => ( {animate && } ))} {/* Funkwellen über dem Haus — pulsieren immer, bei Hover stärker */} {/* Origin-Punkt der Wellen (Antenne / Hub) — pulsiert immer */} {/* Sendepuls-Ring bei Hover */} {animate && ( )} {/* Label-Annotation — herstellerneutral */} FUNK + KABEL ); } function NeubauIllustration({ accent = "#3ABDD0", soft = "#8DDBEA", bg = "#071520", animate = false }) { // Modernes Flachdach-Haus, klar als Architektur lesbar: // - Großer Hauptkubus + niedrigerer Anbau // - Klare Bodenlinie (Terrain), Vorgarten-Pflasterung // - Eingangstür mit Vordach, Garagentor, große Fensterfront // - PV-Felder auf dem Dach // - KNX-BUS als sichtbare Linie INNEN, nicht dominant — Detail, nicht Hauptmotiv return ( {/* Terrain — Bodenlinie + leichte Pflasterung */} {/* Vorgarten-Pflastersteine (Andeutung) */} {[0,1,2,3,4,5,6,7,8].map(i => ( ))} {/* HAUPTKUBUS (rechts) — Hauptwohnbereich, zwei Geschosse */} {/* Flachdach mit Attika-Linie */} {/* Geschoss-Trennung (Decke OG) */} {/* Große Fensterfront EG (raumhoch) */} {/* Fensterfront-Glanz (innen sanft) */} {/* Fenster OG — drei schmale, modern */} {/* Eingangsbereich — Tür + Vordach (rechts vom Fensterband) */} {/* Vordach */} {/* Klingel/Smartlock-Punkt */} {/* ANBAU links — niedriger, einstöckig (Garage / Carport) */} {/* Flachdach des Anbaus */} {/* Garagentor — mit horizontalen Lamellen (öffnet sich auf Hover) */} {/* Lamellen-Gruppe rollt nach oben wenn animate=true */} {animate && ( )} {[317, 329, 341, 353, 365, 377].map((y, i) => ( ))} {/* Garagenboden / Innen-Andeutung — sichtbar wenn Tor offen */} {animate && ( {/* E-Auto Andeutung */} {/* Ladekabel-Symbol */} )} {/* Fingerprint-Sensor neben Eingangstür (auf Hover sichtbar/aktiv) */} {animate && ( {/* Ring um Sensor */} {/* Fingerprint-Linien */} {/* Status-Tag */} SCAN OK )} {/* PV-Module auf Hauptdach */} {Array.from({length:11}, (_, i) => ( ))} {/* PV-Module auf Anbau-Dach (weniger) */} {Array.from({length:7}, (_, i) => ( ))} {/* Schornstein/Lüftung — kleines Detail */} {/* Himmel-Andeutung: Wolke / Sonne weit oben links */} {/* Bäumchen / Vegetation neben dem Anbau */} {/* KNX-BUS DETAIL — INNEN, dezent: Schaltschrank an der Außenwand des Anbaus */} {/* Schaltschrank an der Wand zwischen Anbau und Hauptkubus */} {/* BUS-Linie als horizontaler Strich entlang der EG-Decke (Sockelleiste-Höhe) */} {/* BUS-Knoten an Komponenten (nur im Hauptkubus, Garage bleibt clean) */} {[ {x: 320, y: 395}, {x: 380, y: 395}, {x: 440, y: 395}, ].map((n, i) => ( {animate && ( )} {!animate && } ))} {/* Daten-Puls entlang BUS */} {animate && ( )} {/* Annotation rechts oben — KNX-Tag */} KNX PV · 8 kWp ); } function GewerbeIllustration({ accent = "#3ABDD0", soft = "#8DDBEA", bg = "#071520", animate = false }) { // Gewerbe-Fokus: Energiemanagement (PV + Speicher außen) und Zutritt (RFID außen) // Gebäude bleibt sauber architektonisch, technische Details sitzen DAVOR/DANEBEN return ( {/* Bodenlinie */} {/* Gewerbegebäude — etwas schmaler, mehr Platz aussen */} {/* Flachdach mit Attika */} {/* Fassadensegmente — vertikale Trennlinien */} {[230, 290, 350, 410].map((x, i) => ( ))} {/* Fensterband oben (durchgängig, Bürocharakter) */} {[230, 280, 330, 380].map((x, i) => ( ))} {/* Fensterband Mitte */} {[230, 280, 330, 380].map((x, i) => ( ))} {/* Eingang unten Mitte */} {/* PV-FELD auf Dach — durchgehend, kräftiger Akzent */} {Array.from({length: 14}, (_, i) => ( ))} {/* ─── DASHBOARD LINKS NEBEN GEBÄUDE: Energiemanagement ──────── */} {/* Panel-Hintergrund */} {/* Header */} ENERGIE {/* Speicher-Icon kompakt */} SPEICHER 68% {/* PV-Live-Wert */} PV LIVE 12.4 kW {/* Mini-Bargraph (Tagesverlauf) */} {[ {x: 48, h: 6}, {x: 56, h: 11}, {x: 64, h: 17}, {x: 72, h: 24}, {x: 80, h: 28}, {x: 88, h: 25}, {x: 96, h: 19}, {x: 104, h: 14}, {x: 112, h: 10}, {x: 120, h: 6}, {x: 128, h: 4}, {x: 136, h: 3}, ].map((b, i) => ( {animate && ( )} ))} HEUTE {/* Energiefluss-Linie: PV-Dach → Energie-Panel */} {animate && ( )} {/* ─── DASHBOARD RECHTS NEBEN GEBÄUDE: Zutritt ──────────────── */} {/* Panel-Hintergrund */} ZUTRITT {/* Fingerprint-Sensor */} {animate && ( )} {/* Fingerprint-Linien */} {/* Status */} {animate && } FREIGABE 12 user · aktiv {/* Letzter Zugriff Log */} 07:42 · M.HUBER 07:38 · A.MAIER 07:31 · L.GRUBER {/* Verbindungslinie: Eingang → Zutritts-Panel */} {animate && ( )} {/* Schaltschrank-Andeutung an der Außenwand (sehr klein) */} {/* Bäumchen / Vegetation für Kontext */} {/* Annotation oben — PV-FELD */} PV-FELD · 24 KWP ); } Object.assign(window, { AltbauIllustration, NeubauIllustration, GewerbeIllustration });