Restore v2 dashboard with burn-up chart and policy area pages#166
Open
Restore v2 dashboard with burn-up chart and policy area pages#166
Conversation
New v2 UI with metric cards (Not Started, Completed, Started), burn-up chart showing scope/started/completed over mandate period, waffle grid, and per-policy-area drill-down pages. Scope line extends to end of mandate. Proxies API burndown route. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The superseded_by/supersedes fields were removed from the API. Drop references from status maps, labels, colors, and the detail page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The preview deployment for Outcomes Tracker NextJS failed. 🔴 Last updated at: 2026-03-19 17:48:25 CET |
…il UI Success criteria are hidden from the UI. The partially_met visual state (half-filled checkbox, badge) is removed since the status no longer exists. Progress and completion criteria now stack vertically. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64cfd7e to
7c72b0d
Compare
The chart samples data at fixed weekly intervals, but when the latest API data point falls between two weekly samples, it's never plotted. Add today as an explicit sample point so current values are always visible. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7c72b0d to
1f1c8c8
Compare
Adds /v2/feed with event type filtering, date range selection, timeline UI, and pagination. Adds Feed nav link and FeedItem types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace policy area bar charts with interactive waffle grids linking to individual commitments. Remove standalone waffle grid section. Regenerate pnpm-lock.yaml to include chartjs-adapter-date-fns and date-fns dependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…t component Adds ministry detail page with slug routing, extracts ChartLine component, moves dashboard logic to HomePageClient for client-side rendering, and updates commitment types and Next.js config. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tion on commitment detail - Add Platform tab filtering commitments by election platform source - Reorder metric cards: Not Started, In Progress, Completed, Abandoned (2x2 mobile) - Unify status colours across UI: gray (not started), amber (in progress), #8b2332 (completed), black (abandoned) - Show waffle charts with completed/in-progress first, abandoned last - Add SourceAttribution component showing linked sources on activities, status changes, and timeline - Pass source_type filter through Explore page query params - Refactor overview and detail pages to server components where applicable Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fixes static generation build error: useSearchParams() requires a Suspense boundary during prerendering. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…e prerender - Add force-dynamic to server-component pages (v2, ministries, policy-areas) to prevent static generation which fails without API access at build time - Add pages/_error.tsx to fix useRef prerender crash from client components in root layout during internal error page static generation - Add not-found.tsx and global-error.tsx for App Router error handling - Lazy-load Toaster to avoid SSR issues Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The API is not available at Docker build time, so fetchApi must use cache: "no-store" instead of revalidate to opt pages into dynamic rendering. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
NEXT_PUBLIC_API_URL is baked in at build time and unavailable to server components at runtime. Fall back through API_URL first. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cache: no-store was causing every page load to make 4 fresh API calls. Restore revalidate: 300 (5 min) — the page is already dynamic due to runtime env var reads so this won't trigger build-time fetching. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Files
app/v2/layout.tsx— Nav tabs (Overview / Explore)app/v2/page.tsx— Homepage overviewapp/v2/commitments/page.tsx— Explore pageapp/v2/commitments/[id]/page.tsx— Commitment detailapp/v2/policy-areas/[slug]/page.tsx— Policy area detaillib/commitment-types.ts— TypeScript typesnext.config.mjs— Added burndown API rewriteTest plan
/tracker/v2and verify metric cards, waffle grid, burn-up chart, and policy area cards load🤖 Generated with Claude Code