import IDARI from '@/data/tkgm-idari.json';
import MAH from '@/data/tkgm-mahalle.json';
/** Mahalle kimliğinden il ve ilçe kimliklerini bulur (paketli listelerden). */
export function idsOfMahalle(mid: number | null | undefined) {
  if (!mid) return null;
  const mh = MAH as unknown as Record<string, [number, string][]>;
  const ilce = Object.keys(mh).find((k) => mh[k].some(([i]) => i === mid)); if (!ilce) return null;
  const st = IDARI as { ilce: Record<string, { id: number }[]> };
  const il = Object.keys(st.ilce).find((k) => st.ilce[k].some((x) => String(x.id) === ilce)); if (!il) return null;
  return { il, ilce, mahalle: String(mid) };
}

/** Mahalle kimliğinden düzeltilmiş adlar (TKGM'nin kaybettiği ı/İ harfleri paketli listede düzeltildi; bkz. scripts/fix-idari-adlari.mjs). */
export function namesOfMahalle(mid: number | null | undefined) {
  const ids = idsOfMahalle(mid); if (!ids) return null;
  const st = IDARI as { il: { id: number; text: string }[]; ilce: Record<string, { id: number; text: string }[]> };
  const mh = MAH as unknown as Record<string, [number, string][]>;
  const il = st.il.find((x) => String(x.id) === ids.il)?.text;
  const ilce = st.ilce[ids.il]?.find((x) => String(x.id) === ids.ilce)?.text;
  const mahalle = mh[ids.ilce]?.find(([i]) => i === mid)?.[1];
  return il && ilce && mahalle ? { il, ilce, mahalle } : null;
}
