setting up basic functionality for filter ooptions

This commit is contained in:
Khalim Conn-Kowlessar 2026-02-06 10:42:46 +00:00
parent 7caada25ca
commit ce2475e395

View file

@ -21,6 +21,7 @@ import type {
PropertyTypeCount,
ScenarioSummary,
} from "./types";
import { ReportingFunctionalityButtons } from "./ReportingFunctionalityButtons";
interface ReportingClientAreaProps {
baseline: BaselineMetrics;
@ -40,7 +41,7 @@ async function fetchScenarioReport({
scenarioId: number;
}) {
const res = await fetch(
`/api/portfolio/${portfolioId}/scenario/${scenarioId}/metrics`
`/api/portfolio/${portfolioId}/scenario/${scenarioId}/metrics`,
);
if (!res.ok) {
console.error("Failed to fetch scenario report:", await res.text());
@ -57,7 +58,7 @@ async function fetchScenarioMeasures({
scenarioId: number;
}) {
const res = await fetch(
`/api/portfolio/${portfolioId}/scenario/${scenarioId}/measures`
`/api/portfolio/${portfolioId}/scenario/${scenarioId}/measures`,
);
if (!res.ok) {
@ -74,9 +75,10 @@ export function ReportingClientArea({
portfolioId,
}: ReportingClientAreaProps) {
const [selectedScenarioId, setSelectedScenarioId] = useState<number | null>(
null
null,
);
const [measuresOpen, setMeasuresOpen] = useState<boolean>(false);
const [hideNonCompliant, setHideNonCompliant] = useState(false);
const drawerOpen = Boolean(selectedScenarioId);
@ -193,6 +195,7 @@ export function ReportingClientArea({
{/* RIGHT: Actions (only when scenario selected) */}
{selectedScenarioId && (
<div className="flex items-center gap-2">
{/* Show measures */}
<button
onClick={() => setMeasuresOpen(true)}
disabled={scenarioLoading}
@ -208,11 +211,18 @@ export function ReportingClientArea({
{scenarioLoading ? "Loading…" : "Show measures"}
</button>
<ReportingFunctionalityButtons
hideNonCompliant={hideNonCompliant}
onApplyHideNonCompliant={setHideNonCompliant}
disabled={scenarioLoading}
/>
{/* Download PDF */}
<button
onClick={() => {
window.open(
`/portfolio/${portfolioId}/reporting/pdf?scenarioId=${selectedScenarioId}`,
"_blank"
"_blank",
);
}}
disabled={scenarioLoading}