import { features } from '@/data/features'; import { resources } from '@/data/resources'; import { notFound } from 'next/navigation'; import styles from './feature-page.module.css'; import SafeImage from '@/components/SafeImage'; import Link from 'next/link'; import TestimonialSlider from '@/components/TestimonialSlider'; import { Calendar, Eye, BarChart, Trophy, Inbox, ShieldCheck, Palette, Layout, Smartphone, Zap, PenTool, Repeat, CheckCircle } from 'lucide-react'; // Define Props interface interface PageProps { params: Promise<{ slug: string }>; } export async function generateStaticParams() { return features.map((feature) => ({ slug: feature.slug, })); } export async function generateMetadata(props: PageProps) { const params = await props.params; const feature = features.find((f) => f.slug === params.slug); if (!feature) return { title: 'Feature Not Found' }; return { title: `${feature.title} - SocialBuddy`, description: feature.description, }; } // Icon mapping helper const getIcon = (iconName: string) => { switch (iconName) { case 'Calendar': return ; case 'Eye': return ; case 'BarChart': return ; case 'Trophy': return ; case 'Inbox': return ; case 'ShieldCheck': return ; case 'Palette': return ; case 'Layout': return ; case 'Smartphone': return ; case 'Zap': return ; case 'PenTool': return ; case 'Repeat': return ; default: return ; } }; export default async function FeaturePage(props: PageProps) { const params = await props.params; // Ensure params exists if (!params?.slug) { notFound(); } const feature = features.find((f) => f.slug === params.slug); if (!feature) { notFound(); } // Filter resources const featureResources = resources.filter(b => b.featureSlug === feature.slug).slice(0, 3); const displayResources = featureResources.length > 0 ? featureResources : resources.slice(0, 3); return (
{/* 1. Hero Section (Banner Style, Center Title + Breadcrumbs) */}

{feature.title}

Home / Features / {feature.title}
{/* 2. About Section (Icons) */} {feature.about && (
{feature.about.subTitle}

{feature.about.title}

{feature.about.description}

{feature.about.bulletPoints.map((point, i) => (
{getIcon(point.icon)} {point.text}
))}
Read More
)} {/* 3. Benefits / Why Choose */}
Why Choose Us

Custom Solutions for Your Social Growth

Everything you need to succeed on social media, all in one platform. We provide the tools to help you scale effectively.

Video Showcase
{feature.benefits.slice(0, 4).map((benefit, index) => (
{benefit.icon}

{benefit.title}

{benefit.description}

))}
{/* 4. Testimonials (Left: 2 Images, Right: Slider) */} {feature.testimonials && feature.testimonials.length > 0 && (
Testimonials

Trusted by Thousands

)} {/* 5. Resources / Blogs */}
Resources

Latest Insights for {feature.title}

{displayResources.map((resource) => (
{resource.category}

{resource.title}

{resource.excerpt}

Read Article →
))}
{/* 6. FAQ */} {feature.faqs && feature.faqs.length > 0 && (
FAQ

Frequently Asked Questions

{feature.faqs.map((faq, index) => (
{faq.question} +

{faq.answer}

))}
)} {/* 7. CTA (Full Width Floating) */}

Ready to Grow Your Social Presence?

Join thousands of marketers who are already using SocialBuddy to streamline their workflow.

Start Free Trial
); }