import { getPosts } from '@/lib/api'
import type { Metadata } from 'next'
import TrumpPageClient from './TrumpPageClient'
import Breadcrumbs from '@/components/seo/Breadcrumbs'

const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://trumpsignal.com'
export const revalidate = 30

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

export async function generateMetadata({
  params,
}: TrumpPageProps): Promise<Metadata> {
  const { locale } = await params
  const isZh = false  // i18n shelved — Chinese branches kept as dead code for future revival; see messages/zh.json

  return {
    title: isZh ? 'Trump Truth Social 实时信号' : 'Trump Truth Social Signals',
    description: isZh
      ? '实时抓取并打分 Donald Trump 的 Truth Social 帖子，3 秒内判断是 LONG、SHORT 还是噪音，并可选择在 Hyperliquid 上以逐仓模式自动执行。'
      : 'Real-time AI scoring of every Trump Truth Social post. Classified as LONG, SHORT, or NOISE within 3 seconds. Optional auto-trade on Hyperliquid with isolated margin.',
    keywords: isZh
      ? [
          'Trump 加密信号',
          'Truth Social 交易信号',
          '特朗普发帖行情',
          'Trump 自动交易',
          'Hyperliquid 机器人',
          'Trump 加密信号',
        ]
      : [
          'Trump crypto signal',
          'Truth Social crypto',
          'Trump Truth Social trading bot',
          'Trump market signal',
          'crypto auto-trader',
          'Hyperliquid bot',
        ],
    openGraph: {
      title: isZh ? 'Trump Truth Social 实时信号 | Trump Alpha' : 'Trump Truth Social Signals | Trump Alpha',
      description: isZh
        ? '每条 Trump 帖子都在 3 秒内完成 AI 分类，输出方向、信心分和是否可执行，并支持 Hyperliquid 自动交易。'
        : 'Every Trump post scored by AI in under 3 seconds. LONG, SHORT, or NOISE — with optional Hyperliquid auto-trade.',
    },
    alternates: {
      canonical: `${siteUrl}/en/trump`,
      languages: {
        en: `${siteUrl}/en/trump`,
        'x-default': `${siteUrl}/en/trump`,
      },
    },
  }
}

// GEO: the live Trump signal feed is a dataset. schema.org/Dataset is highly
// cited by AI answer engines for "data / history of X" queries. Endorphin is
// the creator; the feed is free and continuously updated.
const trumpDataset = {
  '@context': 'https://schema.org',
  '@type': 'Dataset',
  '@id': `${siteUrl}/en/trump#dataset`,
  name: 'Trump Truth Social crypto-signal feed',
  description:
    'Time-stamped feed of Donald Trump Truth Social posts classified for crypto market impact (long / short / noise) with a confidence score and the realised short-term price move. Updated within seconds of each post.',
  url: `${siteUrl}/en/trump`,
  keywords: ['Trump', 'Truth Social', 'Bitcoin', 'crypto signal', 'sentiment'],
  isAccessibleForFree: true,
  creator: { '@type': 'Organization', name: 'Endorphin', url: siteUrl },
  publisher: { '@id': `${siteUrl}/#org` },
  license: `${siteUrl}/en/terms`,
  measurementTechnique: 'NLP sentiment classification with confidence scoring',
  temporalCoverage: '2025-01-01/..',
}

export default async function TrumpPage() {
  const posts = await getPosts(500, 1).catch(() => null)

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(trumpDataset) }}
      />
      <Breadcrumbs items={[{ name: 'Trump signals', path: '/en/trump' }]} />
      <TrumpPageClient initialPosts={posts} />
    </>
  )
}
