import type { SmsLang } from './sms.types';

const TEMPLATES: Record<string, string> = {
  default: '您的验证码是：{code}。5分钟内有效。',
  zh: '您的验证码是：{code}。5分钟内有效。',
  en: 'Your verification code is {code}. Valid for 5 minutes.',
  vi: 'Mã xác minh của bạn là {code}. Có hiệu lực trong 5 phút.',
  ms: 'Kod pengesahan anda ialah {code}. Sah selama 5 minit.',
  kh: 'កូដផ្ទៀងផ្ទាត់របស់អ្នកគឺ {code} ។ មានសុពលភាពរយៈពេល ៥ នាទី។',
};

export function renderVerifySms(lang: SmsLang | undefined, code: string): string {
  const key = lang?.trim() || 'zh';
  const tpl = TEMPLATES[key] ?? TEMPLATES.default ?? TEMPLATES.zh;
  return tpl.replace('{code}', code);
}

const RESET_TEMPLATES: Record<string, string> = {
  default: '您正在重置密码，验证码：{code}。5分钟内有效，请勿泄露。',
  zh: '您正在重置密码，验证码：{code}。5分钟内有效，请勿泄露。',
  en: 'Password reset code: {code}. Valid for 5 minutes. Do not share.',
  vi: 'Mã đặt lại mật khẩu: {code}. Có hiệu lực trong 5 phút.',
  ms: 'Kod tetapan semula kata laluan: {code}. Sah selama 5 minit.',
  kh: 'កូដកំណត់ពាក្យសម្ងាត់ឡើងវិញ៖ {code} ។ មានសុពលភាព ៥ នាទី។',
};

export function renderResetPasswordSms(lang: SmsLang | undefined, code: string): string {
  const key = lang?.trim() || 'zh';
  const tpl = RESET_TEMPLATES[key] ?? RESET_TEMPLATES.default ?? RESET_TEMPLATES.zh;
  return tpl.replace('{code}', code);
}
