'use client'; import Image from 'next/image'; import { useRef, useState } from 'react'; import { useMediaQuery } from 'react-responsive'; import { useAppSelector } from '@/redux/hooks'; import { TableAmpelkarteEWS } from '@/app/ews/table-ampelkarte-ews'; import Collapsible from '@/app/components/collapsible'; import Footer from '@/app/components/footer'; import Warning from '@/app/components/warning'; interface Resource { layerId: number; layerName: string; feature: any; } export const textTemplates: { [key: number]: string[] } = { 0: ['Die mittlere jährliche Bodentemperatur beträgt laut Satellitendaten (MODIS) rund ', ' °C.'], 1: ['Die mittlere Temperatur des Untergrunds für eine Tiefe von 0 bis 100 m beträgt rund ', ' °C.'], 2: [ 'Die mittlere konduktive Wärmeleitfähigkeit des Untergrunds für eine Tiefe von 0 bis 100 m beträgt rund ', ' W/m/K.', ], 3: [ 'Die Entzugsleistung einer 100 m tiefen Einzelsonde im standortbezogenen Normbetrieb (Heizen und Kühlen mit Normbetriebsstunden eines typischen Wohngebäudes am Standort) beträgt am Grundstück rund ', ' W/lfm.', ], 4: [ 'Die Entzugsleistung einer 100 m tiefen Einzelsonde im saisonalem Speicherbetrieb (die im Winter zur Heizung entzogene Wärme wird im Sommer vollständig wieder zurückgegeben) beträgt am Grundstück rund ', ' W/lfm.', ], 5: [ `Die flächenspezifische Jahresenergie eines 1156 m² großen und 100 m tiefen Sondenfeldes im standortbezogenen Normbetrieb (4 x 4 Sonden mit je 10 m Abstand - Heizen und Kühlen mit Normbetriebsstunden eines typischen Wohngebäudes am Standort) beträgt rund `, ' kWh/m²/a.', ], 6: [ `Die flächenspezifische Jahresenergie eines 1156 m² großen und 100 m tiefen Sondenfeldes im saisonalem Speicherbetrieb (7 x 7 Sonden mit je 5 m Abstand - die im Winter zur Heizung entzogene Wärme wird im Sommer vollständig wieder zurückgegeben) beträgt rund `, ' kWh/m²/a.', ], }; const tableDataCSS = 'w-full break-words border-b border-solid border-gray-300'; export default function Panel({ address }: { address: string[] | null }) { const isMobile = useMediaQuery({ maxWidth: 640 }); const [opened, setOpened] = useState(true); const innerRef = useRef(null); const ampelkarte = useAppSelector((store) => store.ampelkarteEWS.value); const resources: Resource[] = useAppSelector((store) => store.resourcesEWS.value); const screenshot = useAppSelector((store) => store.screenshot.value); // format values const formatEWS = (layerId: number, layerName: string, value: string) => { if (value !== 'NoData') { if ([0, 1, 2, 4, 5, 6].includes(layerId)) { value = parseFloat(value).toFixed(1); } else { value = parseFloat(value).toFixed(0); } return textTemplates[layerId][0] + value + textTemplates[layerId][1]; } else { return layerName + ': keine Daten'; } }; const handleClick = () => { setOpened(!opened); if (innerRef && innerRef.current) { innerRef.current.classList.toggle('hidden'); } }; return (
0 ? 'bottom-4' : '' } w-full md:w-1/3 xl:w-1/4 pl-8 md:pl-0`} >
Abfrageergebnis {opened ? '-' : '+'}
{screenshot ? Screenshot : null} {address && address.length > 0 ? ( <>
{address[0]}

{address[1]} {address[3]}
) : (
Mit einem Klick in die Karte können Sie die geothermischen Daten abfragen.
)} {resources && resources.length > 0 ? ( <>
{resources.slice(3, 7).map((result) => { return ( ); })} {resources.slice(0, 3).map((result) => { return ( ); })}
Ressourcen für vordefinierte Erdwärmesondenanlage
{formatEWS( result.layerId, result.layerName, result.feature.attributes['Classify.Pixel Value'] )}
Standortabhängige Parameter
{formatEWS( result.layerId, result.layerName, result.feature.attributes['Classify.Pixel Value'] )}
) : null} {ampelkarte && ampelkarte.length > 0 ? : null}
); }