import type { Locale } from "@/lib/i18n";
import { en as enRaw } from "@/lib/messages/en";
import { es as esRaw } from "@/lib/messages/es";
import { zh as zhRaw } from "@/lib/messages/zh";

// Claves = las de EN (fuente de verdad)
type MessageKey = keyof typeof enRaw;

// Valores siempre string (no literales)
export type Messages = Record<MessageKey, string>;

// Si falta una key en es/zh, TS te lo marca (bien)
const en: Messages = enRaw;
const es: Messages = esRaw;
const zh: Messages = zhRaw;

const MAP: Record<Locale, Messages> = { en, es, zh };

export function getMessages(locale: Locale): Messages {
  return MAP[locale] ?? en;
}
