import { getAdminLocale } from '../i18n';
import type { AdminLocale } from '../i18n/admin-messages';

function resolveLocale(locale?: AdminLocale): AdminLocale {
  return locale ?? getAdminLocale();
}

/** 列表展示：年月日 */
export function formatAdminDateTimeBrief(
  value: string | null | undefined,
  locale?: AdminLocale,
): string {
  if (!value) return '—';
  const d = new Date(value);
  if (Number.isNaN(d.getTime())) return '—';
  return d.toLocaleString(resolveLocale(locale), {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
  });
}

/** 悬停详情：含秒 */
export function formatAdminDateTimeFull(
  value: string | null | undefined,
  locale?: AdminLocale,
): string {
  if (!value) return '—';
  const d = new Date(value);
  if (Number.isNaN(d.getTime())) return '—';
  return d.toLocaleString(resolveLocale(locale), {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit',
    second: '2-digit',
  });
}
