feat: Phase 5+6 — Finanzplan Bridge + Financials-Slide Sync

- Adapter: fp_* Tabellen → FMResult Interface (60 Monate)
- Compute-Endpoint: source=finanzplan delegiert an Finanzplan-Engine
- useFinancialModel Hook: computeFromFinanzplan() + finanzplanResults
- FinancialsSlide: Toggle "Szenario-Modell" vs "Finanzplan (Excel)"
- Gruendungsdatum fix: EK+FK auf Aug (m8), Raumkosten ab Aug
- Startup-Preisstaffel: <10 MA ab 3.600 EUR/Jahr, 14-Tage-Test

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-26 20:15:30 +01:00
parent a58cd16f01
commit a01e6cb88e
4 changed files with 178 additions and 5 deletions

View File

@@ -28,7 +28,8 @@ export default function FinancialsSlide({ lang }: FinancialsSlideProps) {
const [activeTab, setActiveTab] = useState<FinTab>('overview')
const de = lang === 'de'
const activeResults = fm.activeResults
const [useFinanzplan, setUseFinanzplan] = useState(false)
const activeResults = useFinanzplan ? fm.finanzplanResults : fm.activeResults
const summary = activeResults?.summary
const lastResult = activeResults?.results[activeResults.results.length - 1]
@@ -65,6 +66,20 @@ export default function FinancialsSlide({ lang }: FinancialsSlideProps) {
<GradientText>{i.financials.title}</GradientText>
</h2>
<p className="text-sm text-white/50 max-w-2xl mx-auto">{i.financials.subtitle}</p>
<div className="flex items-center justify-center gap-2 mt-2">
<button
onClick={() => { setUseFinanzplan(false) }}
className={`px-3 py-1 text-[10px] rounded-lg transition-colors ${!useFinanzplan ? 'bg-indigo-500/20 text-indigo-300 border border-indigo-500/30' : 'text-white/40 hover:text-white/60'}`}
>
{de ? 'Szenario-Modell' : 'Scenario Model'}
</button>
<button
onClick={async () => { setUseFinanzplan(true); await fm.computeFromFinanzplan() }}
className={`px-3 py-1 text-[10px] rounded-lg transition-colors ${useFinanzplan ? 'bg-emerald-500/20 text-emerald-300 border border-emerald-500/30' : 'text-white/40 hover:text-white/60'}`}
>
{fm.computing ? '...' : (de ? 'Finanzplan (Excel)' : 'Financial Plan (Excel)')}
</button>
</div>
</FadeInView>
{/* Hero KPI Cards */}