import React from "react"; import { ChevronRight, Calendar, User, Sparkles } from "lucide-react"; import Link from 'next/link'; import Image from 'next/image'; import type { Metadata } from 'next'; const API_URL = process.env.NEXT_PUBLIC_API_URL || 'https://apicanina.parsaaghayi.ir'; async function getBlog(slug: string) { try { const res = await fetch(`${API_URL}/api/blogs/${slug}`, { next: { revalidate: 60 } }); if (!res.ok) throw new Error('Failed to fetch blog'); const b = await res.json(); return { id: b.id, slug: b.slug, title: b.title, excerpt: b.metaDescription || b.content.substring(0, 150).replace(/<[^>]+>/g, '') + '...', image: b.imageUrl, date: new Date(b.createdAt).toLocaleDateString('fa-IR'), author: b.author ? `${b.author.firstName} ${b.author.lastName}` : 'نویسنده کنینا', content: b.content }; } catch (error) { console.error(error); return null; } } export const revalidate = 60; // ensure SSR dynamic revalidation works correctly export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }): Promise { const { slug } = await params; const blog = await getBlog(slug); if (!blog) return { title: 'مقاله یافت نشد | کنینا ایران' }; const title = `${blog.title} | مجله سلامت کنینا`; const description = blog.excerpt.substring(0, 150).trim(); return { title, description, alternates: { canonical: `/blog/${slug}`, }, openGraph: { title, description, images: [blog.image], url: `/blog/${slug}`, siteName: "کنینا ایران", type: "article", } }; } export default async function BlogPostPage({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params; const selectedPost = await getBlog(slug); if (!selectedPost) { return (

مقاله‌ای یافت نشد

بازگشت به مجله سلامت
); } return (
خانه مجله سلامت {selectedPost.title}
{selectedPost.title}
تحقیق بالینی
{selectedPost.date}

{selectedPost.title}

{selectedPost.excerpt}

{selectedPost.author}
نویسنده کنینا

ارتباط با کارشناسان

برای دریافت مشاوره تخصصی و انتخاب بهترین مکمل برای حیوان خانگی خود، با ما در تماس باشید.
); }