📝 add locale on blog ssr, add translations for other webpage content

This commit is contained in:
RJ
2025-12-04 14:56:00 +02:00
parent d349c1a957
commit 087bccbb13
9 changed files with 255 additions and 87 deletions

View File

@@ -7,7 +7,6 @@ import { BlogCard } from '@/components/blog/blog-card'
import { SearchBar } from '@/components/blog/search-bar'
import { SortDropdown } from '@/components/blog/sort-dropdown'
import { TagFilter } from '@/components/blog/tag-filter'
import { Navbar } from '@/components/blog/navbar'
interface BlogPageClientProps {
posts: Post[]
@@ -142,7 +141,7 @@ export default function BlogPageClient({ posts, allTags }: BlogPageClientProps)
disabled={currentPage === 1}
className="px-6 py-3 font-mono text-sm uppercase border border-[rgb(var(--border-primary))] text-[rgb(var(--text-primary))] disabled:opacity-30 disabled:cursor-not-allowed hover:border-[var(--neon-cyan)] hover:text-[var(--neon-cyan)] transition-colors cursor-pointer"
>
< PREV
{t('prev')}
</button>
<div className="flex items-center gap-2">
{Array.from({ length: totalPages }, (_, i) => i + 1).map(page => (
@@ -164,7 +163,7 @@ export default function BlogPageClient({ posts, allTags }: BlogPageClientProps)
disabled={currentPage === totalPages}
className="px-6 py-3 font-mono text-sm uppercase border border-[rgb(var(--border-primary))] text-[rgb(var(--text-primary))] disabled:opacity-30 disabled:cursor-not-allowed hover:border-[var(--neon-cyan)] hover:text-[var(--neon-cyan)] transition-colors cursor-pointer"
>
NEXT &gt;
{t('next')}
</button>
</div>
</div>

View File

@@ -1,9 +1,11 @@
import { getAllPosts } from '@/lib/markdown'
import BlogPageClient from './blog-client'
import {setRequestLocale} from 'next-intl/server'
import { setRequestLocale } from 'next-intl/server'
export default async function BlogPage() {
const posts = await getAllPosts()
export default async function BlogPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params;
await setRequestLocale(locale)
const posts = await getAllPosts(locale)
const allTags = Array.from(new Set(posts.flatMap(post => post.frontmatter.tags))).sort()
return <BlogPageClient posts={posts} allTags={allTags} />