import Link from "next/link"; import { notFound } from "next/navigation"; import { createCaller } from "~/server/trpc.js"; import { ScenarioPlanner } from "~/components/projects/ScenarioPlanner.js"; interface ScenarioPageProps { params: Promise<{ id: string }>; } export default async function ScenarioPage({ params }: ScenarioPageProps) { const { id } = await params; const trpc = await createCaller(); let baseline: Awaited>; try { baseline = await trpc.scenario.getProjectBaseline({ projectId: id }); } catch { notFound(); } // Load resources and roles for the pickers const [resources, roles] = await Promise.all([ trpc.resource.list({ isActive: true }), trpc.role.list({ isActive: true }), ]); return (
Back to {baseline.project.name}

What-If Scenario Planner

Explore alternate staffing configurations for{" "} {baseline.project.name}{" "} and see instant cost/schedule impact.

); }