- 8 katalog bileşeni src/features/katalog/components/ altına taşındı; katalog-queries.ts (server-only) lib/katalog'un feature kapısı oldu - /bolumler ve /universiteler'in sayfa içi fetch+inline bileşenleri BolumKatalogu/UniversiteKatalogu feature bileşenlerine çıkarıldı - 6 sayfa async'ten senkron'a: params.then() + sayfada Suspense, skeleton'lar feature bileşeninin yanında (BolumIcerikSkeleton vb.) - generateStaticParams artık *-queries yerine bileşen dosyasının helper'larını kullanıyor (bolumStaticSlugs, uniSayfaStaticParams) - Davranış değişikliği yok; route durumları aynı (◐), 1917 statik sayfa Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
32 lines
777 B
TypeScript
32 lines
777 B
TypeScript
import { Suspense } from "react";
|
|
import type { Metadata } from "next";
|
|
import {
|
|
UniversiteIcerik,
|
|
UniversiteIcerikSkeleton,
|
|
uniSayfaMetadata,
|
|
uniStaticSlugs,
|
|
} from "@/features/katalog/components/universite-icerik";
|
|
|
|
export function generateStaticParams() {
|
|
return uniStaticSlugs().map((slug) => ({ slug }));
|
|
}
|
|
|
|
export async function generateMetadata({
|
|
params,
|
|
}: PageProps<"/universite/[slug]">): Promise<Metadata> {
|
|
const { slug } = await params;
|
|
return uniSayfaMetadata(slug, 1);
|
|
}
|
|
|
|
export default function UniversitePage({
|
|
params,
|
|
}: PageProps<"/universite/[slug]">) {
|
|
return (
|
|
<Suspense fallback={<UniversiteIcerikSkeleton />}>
|
|
{params.then(({ slug }) => (
|
|
<UniversiteIcerik slug={slug} sayfa={1} />
|
|
))}
|
|
</Suspense>
|
|
);
|
|
}
|