diff --git a/webui/src/features/campaigns/CampaignListPage.tsx b/webui/src/features/campaigns/CampaignListPage.tsx index f0cff90..e476224 100644 --- a/webui/src/features/campaigns/CampaignListPage.tsx +++ b/webui/src/features/campaigns/CampaignListPage.tsx @@ -8,6 +8,7 @@ import { Button } from "@govoplan/core-webui"; import { StatusBadge } from "@govoplan/core-webui"; import { PageTitle } from "@govoplan/core-webui"; import { LoadingFrame } from "@govoplan/core-webui"; +import { PageScrollViewport } from "@govoplan/core-webui"; import { DismissibleAlert, TableActionGroup, i18nMessage, useGuardedNavigate } from "@govoplan/core-webui"; import { DataGrid, type DataGridColumn } from "@govoplan/core-webui"; import { createNewCampaign, listCampaignsDelta, type CampaignDeltaResponse } from "../../api/campaigns"; @@ -138,6 +139,7 @@ export default function CampaignListPage({ settings }: {settings: ApiSettings;}) return ( +
{error && {error}} @@ -179,7 +181,8 @@ export default function CampaignListPage({ settings }: {settings: ApiSettings;}) } -
); + +
); } diff --git a/webui/src/features/operator/OperatorQueuePage.tsx b/webui/src/features/operator/OperatorQueuePage.tsx index 865a19f..941356a 100644 --- a/webui/src/features/operator/OperatorQueuePage.tsx +++ b/webui/src/features/operator/OperatorQueuePage.tsx @@ -29,6 +29,7 @@ import { DismissibleAlert } from "@govoplan/core-webui"; import { LoadingFrame } from "@govoplan/core-webui"; import { MetricCard } from "@govoplan/core-webui"; import { PageTitle } from "@govoplan/core-webui"; +import { PageScrollViewport } from "@govoplan/core-webui"; import { StatusBadge, TableActionGroup, @@ -755,6 +756,7 @@ export default function OperatorQueuePage({ settings, auth }: {settings: ApiSett ], [navigate, permissions.canOpenReport, selectedRow, selectedVersionId]); return ( +
@@ -844,7 +846,8 @@ export default function OperatorQueuePage({ settings, auth }: {settings: ApiSett if (cancelTarget) void runAction(cancelTarget, "cancel"); }} onCancel={() => setCancelTarget(null)} /> -
); +
+ ); } diff --git a/webui/src/features/reports/AggregateReportsPage.tsx b/webui/src/features/reports/AggregateReportsPage.tsx index b328806..98b45c2 100644 --- a/webui/src/features/reports/AggregateReportsPage.tsx +++ b/webui/src/features/reports/AggregateReportsPage.tsx @@ -8,6 +8,7 @@ import { DismissibleAlert, LoadingFrame, MetricCard, + PageScrollViewport, PageTitle, StatusBadge, TableActionGroup, @@ -165,7 +166,8 @@ export default function AggregateReportsPage({ settings }: {settings: ApiSetting const outcomes = report?.outcomes; return ( -
+ +
i18n:govoplan-campaign.reports.88bc3fe3 @@ -245,7 +247,8 @@ export default function AggregateReportsPage({ settings }: {settings: ApiSetting )} -
+
+ ); } diff --git a/webui/src/features/templates/TemplatesPage.tsx b/webui/src/features/templates/TemplatesPage.tsx index d9b15d7..28f3efa 100644 --- a/webui/src/features/templates/TemplatesPage.tsx +++ b/webui/src/features/templates/TemplatesPage.tsx @@ -2,6 +2,7 @@ import { useMemo, useState } from "react"; import { ExternalLink } from "lucide-react"; import { Button } from "@govoplan/core-webui"; import { Card } from "@govoplan/core-webui"; +import { PageScrollViewport } from "@govoplan/core-webui"; import { PageTitle } from "@govoplan/core-webui"; import { FieldLabel } from "@govoplan/core-webui"; import { StatusBadge, TableActionGroup, i18nMessage } from "@govoplan/core-webui"; @@ -164,6 +165,7 @@ export default function TemplatesPage() { } return ( +
@@ -194,7 +196,8 @@ export default function TemplatesPage() { className="compact-table-wrap module-table-wrap module-entry-table" /> -
); +
+ ); }