import type { Metadata } from "next"; import { notFound } from "next/navigation"; import { CheckCircle2 } from "lucide-react"; import { renderContent } from "@/lib/content-render"; import { getSolutionBySlug, getSiteSettings, listProjects } from "@/lib/data"; import { buildMetadata } from "@/lib/seo"; import { ProjectsGrid } from "@/components/projects-grid"; import { SectionTitle } from "@/components/section-title"; import { FaqList } from "@/components/faq-list"; import { SolutionHero } from "@/components/solution-hero"; import { SolutionSidebar } from "@/components/solution-sidebar"; import type { FaqItem } from "@/lib/types"; export async function generateMetadata({ params, }: { params: Promise<{ slug: string }>; }): Promise { const { slug } = await params; const solution = await getSolutionBySlug(slug); if (!solution) return { title: "Çözüm bulunamadı" }; return buildMetadata(`/cozumler/${slug}`, { title: solution.title, description: solution.description.slice(0, 160), }); } function parseFaq(items?: string[] | null): FaqItem[] { if (!items) return []; const out: FaqItem[] = []; for (const raw of items) { try { const obj = JSON.parse(raw) as Partial; if (obj.q && obj.a) out.push({ q: obj.q, a: obj.a }); } catch { const [q, a] = raw.split("|||").map((s) => s.trim()); if (q && a) out.push({ q, a }); } } return out; } export default async function SolutionDetailPage({ params, }: { params: Promise<{ slug: string }>; }) { const { slug } = await params; const solution = await getSolutionBySlug(slug); if (!solution) notFound(); const [relatedProjects, settings] = await Promise.all([ listProjects({ solutionSlug: slug, limit: 6 }), getSiteSettings(), ]); const faqItems = parseFaq(solution.faq); const html = renderContent(solution.content); return ( <>
{solution.features && solution.features.length > 0 && (

Bu çözüm kapsamında

    {solution.features.map((f) => (
  • {f}
  • ))}
)} {html && (
)} {faqItems.length > 0 && (

Sıkça sorulan sorular

)}
{relatedProjects.length > 0 && (
)} ); }