import { getTranslations, setRequestLocale } from 'next-intl/server'; import { Heart } from 'lucide-react'; import { auth } from '@/lib/auth'; import { Header } from '@/components/Header'; import { Footer } from '@/components/Footer'; import { FavoritesList } from '@/components/FavoritesList'; import { FavoritesSignIn } from '@/components/FavoritesSignIn'; import { createDb, userQueries } from '@skillhub/db'; import { getPageAlternates } from '@/lib/seo'; // Force dynamic rendering export const dynamic = 'force-dynamic'; interface FavoritesPageProps { params: Promise<{ locale: string }>; } export async function generateMetadata({ params, }: { params: Promise<{ locale: string }>; }) { const { locale } = await params; return { alternates: getPageAlternates(locale, '/favorites'), }; } export default async function FavoritesPage({ params }: FavoritesPageProps) { const { locale } = await params; setRequestLocale(locale); const t = await getTranslations('favorites'); const tCommon = await getTranslations('common'); const session = await auth(); const isLoggedIn = !!session?.user?.githubId; // Get favorites only if logged in let favorites: Awaited> = []; if (isLoggedIn) { const db = createDb(); const dbUser = await userQueries.getByGithubId(db, session.user.githubId!); favorites = dbUser ? await userQueries.getFavorites(db, dbUser.id) : []; } return (

{t('title')}

{t('subtitle')}

{isLoggedIn ? ( ) : ( )}
); }