import { FunnelStepHeader } from '@/components/step/FunnelStepHeader'; import { usePreviewStepLocalizedContent, useFunnel, type FunnelStepMeta, } from '@funnelsgrove/runtime'; import { getStepContentLocale } from '@/runtime/step-content-context'; import { stepOneContent } from '@/steps/content/step-01.content'; export const stepOneId = 'step-1'; export const stepOne: FunnelStepMeta = { id: stepOneId, name: 'step-1', type: 'intro_hero', figmaNodeId: 'template-01-intro', title: 'Build a plan that fits you', description: 'Lightweight opening step with no image dependencies.', }; export function StepOne() { const { attributes } = useFunnel(); const content = usePreviewStepLocalizedContent( stepOneId, stepOneContent, getStepContentLocale(attributes), ); return ( <>

{content.headline[0]}

{content.headline[1]}

{content.headline[2]}

} />
{stepOneStyles ? : null} ); } const stepOneStyles = ` .step-one-screen { --sprite-offset-x: 0px; background: var(--color-bg-warning); } .step-one-screen .figma-headline-line.is-accent { color: var(--color-primary); } .template-starter-art { position: absolute; top: 340px; left: 50%; width: min(72cqw, 310px); aspect-ratio: 1; display: grid; place-items: center; border-radius: 999px; background: color-mix(in srgb, var(--color-primary) 12%, white); transform: translateX(-50%); } .template-starter-orbit { position: absolute; inset: 14%; border: 2px solid color-mix(in srgb, var(--color-primary) 28%, transparent); border-radius: 42% 58% 54% 46%; transform: rotate(24deg); } .template-starter-orbit-two { inset: 26%; transform: rotate(-32deg); } .template-starter-mark { display: grid; width: 96px; height: 96px; place-items: center; border-radius: 30px; background: var(--color-primary); color: white; font-size: 52px; font-weight: 800; box-shadow: 0 22px 50px color-mix(in srgb, var(--color-primary) 28%, transparent); } @media (max-width: 430px) { .template-starter-art { top: 310px; } } `;