Skip to content

feat: Tools & interactives page + state legislative tracker integration#627

Draft
anth-volk wants to merge 3 commits intomainfrom
feat/integrate-state-tracker
Draft

feat: Tools & interactives page + state legislative tracker integration#627
anth-volk wants to merge 3 commits intomainfrom
feat/integrate-state-tracker

Conversation

@anth-volk
Copy link
Collaborator

Fixes #625
Fixes #626

Note: This PR needs to be shown to the team for feedback before merging.

Summary

  • Adds a new Tools & interactives landing page at /:countryId/tools with featured tool, search, tag filtering, and a responsive grid of all tools from apps.json
  • Integrates the state legislative tracker via the existing iframe infrastructure
  • Adds an isFeatured boolean to the apps.json schema, replacing tag-based featured detection. If multiple tools are marked featured, the newest by date is shown
  • Introduces a CSS visual system — a registry of decorative CSS components (like the US map dot grid) that can be referenced from apps.json via a css: prefix in the image field (e.g., "image": "css:state-map-dots")
  • Creates a /publish Claude command for interactively publishing articles or tools through the CLI
  • Creates a css-visual-patterns Claude skill documenting how to create and register new CSS visuals

New files

File Purpose
app/src/pages/Tools.page.tsx Tools landing page (hero, featured card, sidebar filters, grid)
app/src/components/tools/FeaturedToolCard.tsx Full-width featured tool card with visual panel
app/src/components/tools/ToolCard.tsx Standard tool card for grid display
app/src/components/tools/ToolsGrid.tsx Responsive grid wrapper
app/src/components/tools/ToolsFilters.tsx Sidebar with search + tag checkboxes
app/src/components/tools/visuals/StateMapDotGrid.tsx Standalone US map dot grid (51 squares)
app/src/components/tools/visuals/AppVisual.tsx Unified wrapper for CSS visuals, images, and placeholders
app/src/components/tools/visuals/registry.ts CSS visual registry (registerCSSVisual, getCSSVisual, isCSSVisual)
app/src/components/tools/visuals/index.ts Barrel file with registration
.claude/commands/publish.md Interactive article/tool publishing walkthrough
.claude/skills/css-visual-patterns.md CSS visual creation guide

Modified files

File Change
app/src/types/apps.ts Added isFeatured?: boolean to BaseApp
app/src/data/apps/apps.json Added tracker entry with isFeatured: true and image: "css:state-map-dots"; removed "featured" from all tag arrays
app/src/WebsiteRouter.tsx Added /:countryId/tools route
app/src/components/shared/HomeHeader.tsx Added "Tools" nav item

Test plan

  • Visit /:countryId/tools — featured card and grid should render
  • Click the featured card — should navigate to the tracker iframe
  • Search and filter by tags — grid should update
  • Verify the CSS dot grid renders correctly on both featured card and regular tool card
  • Switch countries (us/uk) — tools should filter by country
  • Test responsive layout on mobile viewport
  • Run /publish command and walk through both article and tool pathways

🤖 Generated with Claude Code

@vercel
Copy link

vercel bot commented Feb 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
policyengine-app-v2 Ready Ready Preview, Comment Feb 9, 2026 8:29pm
policyengine-calculator Ready Ready Preview, Comment Feb 9, 2026 8:29pm
policyengine-website Ready Ready Preview, Comment Feb 9, 2026 8:29pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate the state legislative tracker into the website Create a tools & interactives landing page

1 participant

Comments