canina/frontend/application/app/page.tsx
parsa aghaei 99e726b08b
Some checks failed
Deploy Canina / deploy (push) Successful in 3m51s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 6s
fix(admin,sms,ui): resolve LTR input icon overlap, clarify melipayamak pulses credit and update UI texts
2026-09-05 09:09:36 +03:30

39 lines
1.1 KiB
TypeScript

import type { Metadata } from "next";
import HomeClient from "./HomeClient";
import { getPageMetadata } from "../lib/seo";
export async function generateMetadata(): Promise<Metadata> {
return getPageMetadata('home', {
canonicalPath: '/',
});
}
import { HomeApiResponse } from "../lib/types";
async function getHomeData(): Promise<HomeApiResponse | null> {
try {
const apiUrl =
process.env.INTERNAL_API_URL ||
process.env.NEXT_PUBLIC_API_URL ||
(process.env.NODE_ENV === 'production' ? 'https://api.canina.ir/api' : 'http://127.0.0.1:4400/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} />;
}