import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
import AuthContainer from '@/components/frontend/auth/AuthContainer'
import LoginForm from '@/components/frontend/auth/LoginForm'
import SocialLogin from '@/components/frontend/auth/SocialLogin'

interface LoginPageProps {
  params: Promise<{ locale: string }>
}

export async function generateMetadata({ params }: LoginPageProps): Promise<Metadata> {
  const { locale } = await params
  const t = await getTranslations({ locale, namespace: 'Auth.login' })
  return {
    title: t('metaTitle'),
    description: t('metaDescription'),
  }
}

export default async function LoginPage({ params }: LoginPageProps) {
  const { locale } = await params
  const t = await getTranslations({ locale, namespace: 'Auth.login' })

  return (
    <AuthContainer
      title={t('title')}
      subtitle={t('subtitle')}
      alternateText={t('alternateText')}
      alternateLink="/register"
      alternateLinkText={t('alternateLinkText')}
    >
      <LoginForm />
      <SocialLogin />
    </AuthContainer>
  )
}
