58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
import type { Metadata } from "next";
|
|
import HomeClient from "./HomeClient";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "کانینا ایران - مکملهای درمانی حیوانات خانگی با گرید دارویی اختصاصی",
|
|
description: "تدارک هوشمندانه سلامت برای همراهان وفادار شما. کانینا ایران واردکننده انحصاری مکملهای درمانی با گرید دارویی اختصاصی از آلمان با پروانه رسمی دامپزشکی.",
|
|
alternates: {
|
|
canonical: "/",
|
|
},
|
|
openGraph: {
|
|
title: "کانینا ایران - مکملهای درمانی حیوانات خانگی با گرید دارویی اختصاصی",
|
|
description: "واردکننده انحصاری مکملهای درمانی با گرید دارویی اختصاصی از آلمان",
|
|
url: "https://canina-iran.com",
|
|
siteName: "کانینا ایران",
|
|
locale: "fa_IR",
|
|
type: "website",
|
|
images: [
|
|
{
|
|
url: "/assets/images/regenerated_image_1779109861747.png",
|
|
width: 1200,
|
|
height: 630,
|
|
alt: "کانینا ایران - مکملهای درمانی حیوانات خانگی",
|
|
}
|
|
]
|
|
}
|
|
};
|
|
|
|
interface HomeData {
|
|
heroBanners?: any[];
|
|
vetTestimonials?: any[];
|
|
smartAdvisorRules?: any[];
|
|
[key: string]: any;
|
|
}
|
|
|
|
async function getHomeData(): Promise<HomeData | null> {
|
|
try {
|
|
const apiUrl = process.env.INTERNAL_API_URL || process.env.NEXT_PUBLIC_API_URL || 'http://localhost:4001/api';
|
|
const res = await fetch(`${apiUrl}/home`, {
|
|
next: { revalidate: 3600, tags: ['home-data'] },
|
|
});
|
|
|
|
if (!res.ok) {
|
|
console.error(`Failed to fetch home data: ${res.status} ${res.statusText}`);
|
|
return null;
|
|
}
|
|
|
|
return await res.json();
|
|
} catch (error) {
|
|
console.error('Error fetching home data on server:', error);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
export default async function Home() {
|
|
const initialData = await getHomeData();
|
|
return <HomeClient initialData={initialData} />;
|
|
}
|