import { sql } from '@/lib/db' export const dynamic = "force-dynamic" import { notFound } from 'next/navigation' import Link from 'next/link' import Image from 'next/image' const CATEGORY_META: Record = { 'ai-news': { icon: '๐Ÿ“ฐ', color: 'from-blue-600 to-blue-800' }, 'tutorials': { icon: '๐Ÿ“š', color: 'from-purple-600 to-purple-800' }, 'tips-tricks': { icon: '๐Ÿ’ก', color: 'from-amber-500 to-orange-600' }, 'upcoming': { icon: '๐Ÿš€', color: 'from-emerald-600 to-teal-700' }, } async function getCategory(slug: string) { try { const { rows } = await sql`SELECT * FROM categories WHERE slug = ${slug}` return rows[0] || null } catch { return null } } async function getArticlesByCategory(slug: string) { try { const { rows } = await sql` SELECT a.id, a.title_burmese, a.slug, a.excerpt_burmese, a.featured_image, a.reading_time, a.view_count, a.published_at, c.name_burmese as category_name_burmese, c.slug as category_slug FROM articles a JOIN categories c ON a.category_id = c.id WHERE c.slug = ${slug} AND a.status = 'published' ORDER BY a.published_at DESC LIMIT 30 ` return rows } catch { return [] } } export default async function CategoryPage({ params }: { params: { slug: string } }) { const [category, articles] = await Promise.all([ getCategory(params.slug), getArticlesByCategory(params.slug), ]) if (!category) notFound() const meta = CATEGORY_META[params.slug] ?? { icon: '๐Ÿ“„', color: 'from-gray-600 to-gray-800' } return (
{/* Category Header */}
{meta.icon}

{category.name_burmese}

แ€†แ€ฑแ€ฌแ€„แ€บแ€ธแ€•แ€ซแ€ธ {articles.length} แ€แ€ฏ

{/* Articles Grid */}
{articles.length === 0 ? (
๐Ÿ“ญ

แ€†แ€ฑแ€ฌแ€„แ€บแ€ธแ€•แ€ซแ€ธแ€™แ€›แ€พแ€ญแ€žแ€ฑแ€ธแ€•แ€ซแ‹ แ€™แ€€แ€ผแ€ฌแ€™แ€ฎ แ€•แ€ผแ€”แ€บแ€…แ€…แ€บแ€€แ€ผแ€Šแ€ทแ€บแ€•แ€ซแ‹

) : (
{articles.map((article: any) => (
{article.featured_image && (
{article.title_burmese}
)}

{article.title_burmese}

{article.excerpt_burmese}

{article.reading_time} แ€™แ€ญแ€”แ€…แ€บ {article.view_count} views
))}
)}
) } export async function generateMetadata({ params }: { params: { slug: string } }) { const category = await getCategory(params.slug) if (!category) return { title: 'Category Not Found' } return { title: `${category.name_burmese} - Burmddit`, description: `${category.name_burmese} แ€”แ€พแ€„แ€ทแ€บ แ€•แ€แ€บแ€žแ€€แ€บแ€žแ€ฑแ€ฌ แ€”แ€ฑแ€ฌแ€€แ€บแ€†แ€ฏแ€ถแ€ธแ€› AI แ€†แ€ฑแ€ฌแ€„แ€บแ€ธแ€•แ€ซแ€ธแ€™แ€ปแ€ฌแ€ธ`, } }