import { Box, Chip, CircularProgress, Paper, Typography } from '@mui/material' import { Lightbulb, MessageSquareQuote } from 'lucide-react' import { useFitOutAdvice } from '../../hooks/useAI' import { DS_TEXT, DS_SURFACE, DS_BORDER } from '../../lib/ds' const RECOMMENDATION_META: Record = { MIETERAUSBAU: { label: 'Mieterausbau', bg: DS_SURFACE.blue.bg, border: DS_SURFACE.blue.border, fg: DS_TEXT.signalDark }, BKZ: { label: 'Baukostenzuschuss (BKZ)', bg: DS_SURFACE.success.bg, border: DS_SURFACE.success.border, fg: DS_TEXT.success }, MAB_AMORTISATION: { label: 'MAB-Amortisation', bg: DS_SURFACE.success.bg, border: DS_SURFACE.success.border, fg: DS_TEXT.success }, } interface Props { fitOut: string areaSqm: number mabPerSqm: number rentPricePerSqm: number requiredFitOut?: string tenantBudgetPerSqm?: number } export function FitOutAdvicePanel({ fitOut, areaSqm, mabPerSqm, rentPricePerSqm, requiredFitOut, tenantBudgetPerSqm }: Props) { const { data, isLoading, isError } = useFitOutAdvice({ fitOut, areaSqm, mabPerSqm, requiredFitOut, tenantBudgetPerSqm, monthlyRentPerSqm: Math.round(rentPricePerSqm / 12), }) // Fallback: KI-Ausfall blockiert nie — Panel wird einfach nicht gezeigt if (isError) return null if (isLoading || !data) { return ( KI-Ausbauempfehlung wird erstellt… ) } const advice = data.data const meta = RECOMMENDATION_META[advice.recommendation] ?? RECOMMENDATION_META.MIETERAUSBAU return ( KI-Ausbauempfehlung {advice.headline} {advice.explanation} Geschätzte Nettoinvestition {advice.estimatedNetInvestment} Verhandlungstipp: {advice.negotiationTip} {data.provenance?.fallbackUsed && ( Hinweis: KI nicht verfügbar — Richtwert-basierte Empfehlung. )} ) }