From f77f336427c31542071494e0c30548e36759c320 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Fri, 26 Jun 2026 14:44:27 +0100 Subject: [PATCH] Add chatbot CTA to hero; feature latest UK tools in research banner - Hero: add a second CTA button "Try the AI chatbot" (navy, distinct from the teal "Enter PolicyEngine") linking to the PolicyEngine UK Chat - FeaturedResearchBanner: refresh the four UK cards to the latest featured tools, led by UK CliffWatch (then fuel duty, UC rebalancing, energy shock) Co-Authored-By: Claude Opus 4.8 (1M context) --- app/src/components/home/HeroCTA.tsx | 43 +++++++++++++++---- .../shared/FeaturedResearchBanner.tsx | 24 +++++------ 2 files changed, 46 insertions(+), 21 deletions(-) diff --git a/app/src/components/home/HeroCTA.tsx b/app/src/components/home/HeroCTA.tsx index 910797812..60e15c0ec 100644 --- a/app/src/components/home/HeroCTA.tsx +++ b/app/src/components/home/HeroCTA.tsx @@ -3,6 +3,8 @@ import { CALCULATOR_URL } from '@/constants'; import { colors, spacing, typography } from '@/designTokens'; import { useCurrentCountry } from '@/hooks/useCurrentCountry'; +const CHAT_URL = 'https://policyengine-uk-chat.vercel.app/'; + const ctaVariant = { hidden: { opacity: 0, y: 20 }, visible: { @@ -12,6 +14,17 @@ const ctaVariant = { }, }; +const buttonBase = { + display: 'inline-block', + padding: `${spacing.lg} ${spacing['3xl']}`, + borderRadius: 40, + fontFamily: typography.fontFamily.primary, + fontWeight: typography.fontWeight.semibold, + fontSize: typography.fontSize.lg, + textDecoration: 'none', + transition: 'box-shadow 0.3s ease', +} as const; + export default function HeroCTA() { const countryId = useCurrentCountry(); @@ -21,7 +34,10 @@ export default function HeroCTA() { style={{ position: 'relative', zIndex: 1, - textAlign: 'center', + display: 'flex', + flexWrap: 'wrap', + justifyContent: 'center', + gap: spacing.md, }} > Enter PolicyEngine + + + Try the AI chatbot + ); } diff --git a/app/src/components/shared/FeaturedResearchBanner.tsx b/app/src/components/shared/FeaturedResearchBanner.tsx index ebe8d9594..b52ca9e82 100644 --- a/app/src/components/shared/FeaturedResearchBanner.tsx +++ b/app/src/components/shared/FeaturedResearchBanner.tsx @@ -29,24 +29,24 @@ export default function FeaturedResearchBanner() { const cards = [ { - href: '/uk/spring-statement-2026', - title: 'Spring Statement 2026 analysis', - desc: 'New OBR forecast and its effects on UK living standards', + href: '/uk/uk-cliff-watch', + title: 'UK CliffWatch', + desc: 'Where benefit withdrawal and taxes create cliffs and high marginal rates as earnings rise', }, { - href: '/uk/research/uk-two-child-limit-reintroduction', - title: 'Two-child limit reintroduction', - desc: 'Budgetary, distributional, poverty, and inequality impacts across the UK', + href: '/uk/cancelling-fuel-duty-rise', + title: 'Fuel duty rise cancellation', + desc: 'Fiscal cost and household impact of cancelling the Autumn Budget 2025 fuel-duty rise', }, { - href: '/uk/uk-salary-sacrifice-tool', - title: 'Salary sacrifice cap analysis tool', - desc: 'Revenue and distributional impacts of capping pension salary sacrifice', + href: '/uk/uc-rebalancing', + title: 'Universal Credit rebalancing', + desc: 'Household and fiscal impact of the Universal Credit Act 2025 rebalancing package', }, { - href: '/uk/uk-student-loan-calculator', - title: 'Student loan deductions calculator', - desc: 'Repayments, marginal tax rates, and lifetime costs for UK graduates', + href: '/uk/energy-price-shock', + title: 'Energy price shock', + desc: 'Distributional impact of energy price shocks, with five modelled policy responses', }, ];