import type { Metadata } from 'next'
import type { BackendSiteAgreement } from '@/lib/backend'
import { serverFetchJson } from '@/lib/server-api'

export const metadata: Metadata = { title: '用户服务条款' }

const fallbackAgreement: BackendSiteAgreement = {
  id: 'user-terms',
  title: '用户服务条款',
  summary: '账号使用、服务开通、平台责任与用户行为规则。',
  content: [
    '用户应保证注册、登录和使用服务时提交的信息真实、准确、完整，并妥善保管自己的登录凭证。',
    '平台提供规划咨询、课程活动、数据服务、智能体服务、专家预约和会员权益等线上服务，具体内容以页面展示、订单记录和双方确认信息为准。',
    '用户不得利用平台发布违法违规内容、侵犯第三方权益、干扰平台正常运行或实施其他不当行为。',
    '因网络故障、系统维护、不可抗力或第三方服务原因造成服务延迟或中断的，平台会尽力协助处理并恢复服务。',
    '平台可根据法律法规、业务调整或服务安全需要更新本条款，并在页面中展示最新版本。',
  ].join('\n'),
  status: 'published',
  updatedBy: '',
  createdAt: '',
  updatedAt: '',
}

async function getTerms() {
  return await serverFetchJson<BackendSiteAgreement>('/site/agreements/user-terms') || fallbackAgreement
}

export default async function TermsPage() {
  const agreement = await getTerms()

  return (
    <main className="bg-bg py-12">
      <section className="mx-auto max-w-[860px] rounded-[4px] border border-line bg-white px-7 py-8 shadow-[0_12px_34px_rgba(15,23,42,0.05)]">
        <h1 className="text-3xl font-extrabold text-ink">{agreement.title}</h1>
        {agreement.summary && <p className="mt-3 text-sm font-bold leading-7 text-muted">{agreement.summary}</p>}
        <div className="mt-7 whitespace-pre-line text-sm leading-8 text-muted">{agreement.content}</div>
      </section>
    </main>
  )
}
