- All 8 home page sections: Hero, Locations slider, WhyParents accordion, Birthday pricing cards, Video, Gallery, Reviews slider, News - UI components: NavLink, BtnPrimary, BtnGradient, BtnDetails, AccordionItem - Layout: sticky Header (NavLink + BtnPrimary), Footer with logo - Figma Code Connect: 5 components published (.figma.tsx + figma.config.json) - Public assets: all Figma images and SVGs exported - Pages: /kvytky, /lokatsii, /blog, /dni-narodzhennia, /grupovi-vidviduvannia - Tests: Vitest unit/api suites, Playwright e2e screenshots - Payload CMS: blocks, collections, seed data updates - Hero negative-margin to extend behind sticky header - Custom Tailwind breakpoints: lg=1440px, xl=1920px - Fix ESLint config: drop FlatCompat, use eslint-config-next flat export - Add tsconfig.tsbuildinfo, test-results/, agentdb.rvf* to .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
interface FeatureItem {
|
|
icon?: string | null
|
|
title: string
|
|
description?: string | null
|
|
}
|
|
|
|
interface FeaturesBlockProps {
|
|
title?: string | null
|
|
items?: FeatureItem[] | null
|
|
}
|
|
|
|
export function FeaturesBlockComponent({ title, items }: FeaturesBlockProps) {
|
|
if (!items?.length) return null
|
|
|
|
return (
|
|
<section className="py-[20px] md:py-[60px] lg:py-[40px]">
|
|
<div className="max-w-[1204px] mx-auto px-8">
|
|
{title && (
|
|
<h2
|
|
className="font-bold text-[24px] md:text-[32px] text-[#272727] uppercase mb-[40px] md:mb-[60px]"
|
|
style={{ fontFamily: 'var(--font-montserrat, Montserrat), sans-serif' }}
|
|
>
|
|
{title}
|
|
</h2>
|
|
)}
|
|
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
{items.map((item, i) => (
|
|
<div key={i} className="bg-[#fdf2e8] rounded-[20px] p-8 shadow-[0_4px_60px_0_rgba(242,139,74,0.25)]">
|
|
{item.icon && <div className="text-[40px] mb-4">{item.icon}</div>}
|
|
<h3
|
|
className="font-bold text-[20px] text-[#272727] mb-2"
|
|
style={{ fontFamily: 'var(--font-montserrat, Montserrat), sans-serif' }}
|
|
>
|
|
{item.title}
|
|
</h3>
|
|
{item.description && (
|
|
<p className="text-[#272727] text-[16px] leading-[1.6]" style={{ fontFamily: 'var(--font-poppins, Poppins), sans-serif' }}>
|
|
{item.description}
|
|
</p>
|
|
)}
|
|
</div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
)
|
|
}
|