feat(blog): isolate articles by locale and add initial english posts
This commit is contained in:
@@ -7,14 +7,14 @@ import { getBlogDetailBySlug } from "@/data/blog-detail";
|
||||
const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || "https://poyrazavsever.com";
|
||||
|
||||
type BlogDetailPageProps = {
|
||||
params: Promise<{ slug: string }>;
|
||||
params: Promise<{ locale: string; slug: string }>;
|
||||
};
|
||||
|
||||
export async function generateMetadata({ params }: BlogDetailPageProps): Promise<Metadata> {
|
||||
const { slug } = await params;
|
||||
const { locale, slug } = await params;
|
||||
const post = await getBlogDetailBySlug(slug);
|
||||
|
||||
if (!post) {
|
||||
if (!post || post.lang !== locale) {
|
||||
return {
|
||||
title: "Yazı Bulunamadı",
|
||||
};
|
||||
@@ -51,10 +51,10 @@ export async function generateMetadata({ params }: BlogDetailPageProps): Promise
|
||||
}
|
||||
|
||||
export default async function BlogDetailPage({ params }: BlogDetailPageProps) {
|
||||
const { slug } = await params;
|
||||
const { locale, slug } = await params;
|
||||
const post = await getBlogDetailBySlug(slug);
|
||||
|
||||
if (!post) {
|
||||
if (!post || post.lang !== locale) {
|
||||
notFound();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,10 +2,12 @@ import { BlogContent } from "@/components/blog-content";
|
||||
import { getBlogPageData } from "@/data/blog";
|
||||
|
||||
type BlogPageProps = {
|
||||
params: Promise<{ locale: string }>;
|
||||
searchParams?: Promise<{ page?: string | string[]; category?: string | string[]; search?: string | string[] }>;
|
||||
};
|
||||
|
||||
export default async function BlogPage({ searchParams }: BlogPageProps) {
|
||||
export default async function BlogPage({ params, searchParams }: BlogPageProps) {
|
||||
const { locale } = await params;
|
||||
const resolved = searchParams ? await searchParams : undefined;
|
||||
const pageParam = Array.isArray(resolved?.page) ? resolved?.page[0] : resolved?.page;
|
||||
const categoryParam = Array.isArray(resolved?.category)
|
||||
@@ -14,7 +16,7 @@ export default async function BlogPage({ searchParams }: BlogPageProps) {
|
||||
const searchParam = Array.isArray(resolved?.search) ? resolved?.search[0] : resolved?.search;
|
||||
const page = Number(pageParam ?? "1");
|
||||
const currentPage = Number.isFinite(page) && page > 0 ? Math.floor(page) : 1;
|
||||
const data = await getBlogPageData(currentPage, 12, categoryParam, searchParam);
|
||||
const data = await getBlogPageData(locale, currentPage, 12, categoryParam, searchParam);
|
||||
|
||||
return <BlogContent data={data} />;
|
||||
}
|
||||
|
||||
@@ -4,8 +4,13 @@ import { ReferencesSection } from "@/components/references-section";
|
||||
import { SponsorsSection } from "@/components/sponsors-section";
|
||||
import { getHomeBlogNews } from "@/data/blog";
|
||||
|
||||
export default async function Home() {
|
||||
const homeNews = await getHomeBlogNews(3);
|
||||
export default async function Home({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ locale: string }>;
|
||||
}) {
|
||||
const { locale } = await params;
|
||||
const homeNews = await getHomeBlogNews(locale, 3);
|
||||
|
||||
return (
|
||||
<section className="flex h-full flex-col gap-4 overflow-y-auto overflow-x-hidden">
|
||||
|
||||
Reference in New Issue
Block a user