// Placeholder heraldry for the eight City-Loyalty cities. Each entry is a simple
// emoji sigil + a ring colour — enough to make the Governors board and the
// governor badge read as distinct "crests" today, swappable for real artwork
// later WITHOUT touching any component: drop an `img` (an imported asset URL or a
// public path) onto an entry and update CityCrest to prefer it.
//
// Keyed by the exact `city` string the sidecar sends (see INTEGRATION.md §4:
// Moonglow, Britain, Jhelom, Yew, Minoc, Trinsic, SkaraBrae, NewMagincia).

export const CITY_CRESTS = {
  Britain: { sigil: '⚜', color: '#c9a24b', label: 'Britain' },
  Moonglow: { sigil: '🔮', color: '#7f8fd0', label: 'Moonglow' },
  Minoc: { sigil: '⚒', color: '#b0763f', label: 'Minoc' },
  Trinsic: { sigil: '⚓', color: '#5f9bd0', label: 'Trinsic' },
  Yew: { sigil: '🌳', color: '#5fb98a', label: 'Yew' },
  Jhelom: { sigil: '⚔', color: '#c76f6f', label: 'Jhelom' },
  SkaraBrae: { sigil: '🐎', color: '#9a8bbf', label: 'Skara Brae' },
  NewMagincia: { sigil: '🕊', color: '#cfc3a0', label: 'New Magincia' },
}

const FALLBACK = { sigil: '🏰', color: '#8c96a5', label: '' }

// Look up a crest by the raw city key, tolerating spacing variants
// ("Skara Brae" / "New Magincia"). `label` falls back to the given name.
export function crestFor(city) {
  if (!city) return FALLBACK
  const key = String(city).replace(/\s+/g, '')
  const crest = CITY_CRESTS[city] || CITY_CRESTS[key]
  if (crest) return crest
  return { ...FALLBACK, label: String(city) }
}
