"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { useQuery } from "@tanstack/react-query"; import { createScenario, listScenarios, type Scenario } from "@/lib/api"; import { Button } from "@/components/ui/button"; function ScenarioRow({ scenario }: { scenario: Scenario }) { const router = useRouter(); const statusColor = scenario.status === "success" ? "text-green-600" : scenario.status === "failed" ? "text-red-600" : scenario.status === "running" ? "text-blue-600" : "text-yellow-600"; return ( router.push(`/scenarios/${scenario.id}`)} > {scenario.id.slice(0, 8)}… {scenario.name} {scenario.status} {new Date(scenario.created_at).toLocaleString()} ); } export default function HomePage() { const router = useRouter(); const [creating, setCreating] = useState(false); const { data: scenarios, refetch } = useQuery({ queryKey: ["scenarios"], queryFn: listScenarios, refetchInterval: 5000, }); async function handleNewScenario() { setCreating(true); try { const scenario = await createScenario( `Scenario ${new Date().toLocaleTimeString()}`, ); await refetch(); router.push(`/scenarios/${scenario.id}`); } finally { setCreating(false); } } return (

REmodel

Hybrid RE project finance scenarios

{!scenarios || scenarios.length === 0 ? (
No scenarios yet — click “New Dummy Scenario” to start.
) : (
{scenarios.map((s) => ( ))}
ID Name Status Created
)}
); }