'use client' import { AOITheme, AOIQuality, Difficulty, GeoJSONPolygon, AOIResponse } from './types' const THEME_CONFIG: Record = { topographie: { icon: '🏔️', color: 'bg-amber-500', label: 'Topographie' }, landnutzung: { icon: '🏘️', color: 'bg-green-500', label: 'Landnutzung' }, orientierung: { icon: '🧭', color: 'bg-blue-500', label: 'Orientierung' }, geologie: { icon: '🪨', color: 'bg-stone-500', label: 'Geologie' }, hydrologie: { icon: '💧', color: 'bg-cyan-500', label: 'Hydrologie' }, vegetation: { icon: '🌲', color: 'bg-emerald-500', label: 'Vegetation' }, } interface GeoSettingsProps { selectedTheme: AOITheme onThemeChange: (theme: AOITheme) => void quality: AOIQuality onQualityChange: (quality: AOIQuality) => void difficulty: Difficulty onDifficultyChange: (difficulty: Difficulty) => void drawnPolygon: GeoJSONPolygon | null currentAOI: AOIResponse | null isLoading: boolean onCreateAOI: () => void } export function GeoSettings({ selectedTheme, onThemeChange, quality, onQualityChange, difficulty, onDifficultyChange, drawnPolygon, currentAOI, isLoading, onCreateAOI, }: GeoSettingsProps) { return (
{/* Theme Selection */}

Lernthema

{(Object.keys(THEME_CONFIG) as AOITheme[]).map((theme) => { const config = THEME_CONFIG[theme] return ( ) })}
{/* Quality Selection */}

Qualitaet

{(['low', 'medium', 'high'] as AOIQuality[]).map((q) => ( ))}
{/* Difficulty Selection */}

Schwierigkeitsgrad

{(['leicht', 'mittel', 'schwer'] as Difficulty[]).map((d) => ( ))}
{/* Area Info */} {drawnPolygon && (

Ausgewaehltes Gebiet

Polygon gezeichnet ✓

Klicke "Lernwelt erstellen" um fortzufahren

)} {/* Create Button */} {/* AOI Status */} {currentAOI && (

Status

{currentAOI.status === 'queued' ? 'In Warteschlange...' : currentAOI.status === 'processing' ? 'Wird verarbeitet...' : currentAOI.status === 'completed' ? 'Fertig!' : 'Fehlgeschlagen'}
{currentAOI.area_km2 > 0 && (

Flaeche: {currentAOI.area_km2.toFixed(2)} km²

)}
)}
) } export { THEME_CONFIG }