export const CATEGORIES = ['ACTIVO', 'PRODUCTO', 'SERVICIO'] as const
export type Category = (typeof CATEGORIES)[number]

export const ASSET_TYPES = [
  'TERRENO_PROYECTO', 'CONCESION_MINERA', 'RELAVE_RIPIO_ESCORIA', 'INFRAESTRUCTURA_PLANTA',
] as const
export type AssetType = (typeof ASSET_TYPES)[number]

export const ASSET_TYPE_LABELS: Record<AssetType, string> = {
  TERRENO_PROYECTO: 'Terreno / proyecto',
  CONCESION_MINERA: 'Concesión minera',
  RELAVE_RIPIO_ESCORIA: 'Relave / ripio / escoria',
  INFRAESTRUCTURA_PLANTA: 'Infraestructura / planta',
}

// Código corto mostrado en la esquina de las imágenes (estilo Terrano)
export const ASSET_TYPE_CODES: Record<AssetType, string> = {
  TERRENO_PROYECTO: 'TERR',
  CONCESION_MINERA: 'CONC',
  RELAVE_RIPIO_ESCORIA: 'RELV',
  INFRAESTRUCTURA_PLANTA: 'PLNT',
}

export const STAGES = [
  'PROSPECCION', 'EXPLORACION_BASICA', 'EXPLORACION_AVANZADA', 'PRE_DESARROLLO', 'PRODUCCION',
] as const
export type Stage = (typeof STAGES)[number]

export const DEAL_TYPES = [
  'ADQUISICION', 'VENTA_100', 'VENTA_PARCIAL', 'EARN_IN', 'FARM_IN', 'ROYALTY',
  'OPCION_COMPRA', 'OFF_TAKE', 'SPIN_OUT', 'ARRIENDO', 'PARTICIPACION_ACCIONARIA',
  'ACUERDO_TRIBUTO', 'ALIANZA_ESTRATEGICA',
] as const
export type DealType = (typeof DEAL_TYPES)[number]

export const COMMODITIES = [
  'AU', 'AG', 'CU', 'PB', 'ZN', 'MN', 'V', 'LI', 'FE', 'CO', 'NI', 'SN', 'W', 'MO', 'U', 'COAL', 'OTRO',
] as const
export type Commodity = (typeof COMMODITIES)[number]

export const STAGE_LABELS: Record<Stage, string> = {
  PROSPECCION: 'Prospección',
  EXPLORACION_BASICA: 'Exploración básica',
  EXPLORACION_AVANZADA: 'Exploración avanzada',
  PRE_DESARROLLO: 'Pre-desarrollo minero',
  PRODUCCION: 'Producción',
}

export const STAGE_CODES: Record<Stage, string> = {
  PROSPECCION: 'PROS',
  EXPLORACION_BASICA: 'EXPL',
  EXPLORACION_AVANZADA: 'EXPL-A',
  PRE_DESARROLLO: 'PRE-DES',
  PRODUCCION: 'PROD',
}

export const DEAL_TYPE_LABELS: Record<DealType, string> = {
  ADQUISICION: 'Adquisición',
  VENTA_100: 'Venta 100%',
  VENTA_PARCIAL: 'Venta parcial',
  EARN_IN: 'Earn-in',
  FARM_IN: 'Farm-in',
  ROYALTY: 'Royalty',
  OPCION_COMPRA: 'Opción de compra',
  OFF_TAKE: 'Off-take',
  SPIN_OUT: 'Spin-out',
  ARRIENDO: 'Arriendo',
  PARTICIPACION_ACCIONARIA: 'Participación accionaria',
  ACUERDO_TRIBUTO: 'Acuerdo de tributo',
  ALIANZA_ESTRATEGICA: 'Alianza estratégica',
}

export const COMMODITY_LABELS: Record<Commodity, string> = {
  AU: 'Oro', AG: 'Plata', CU: 'Cobre', PB: 'Plomo', ZN: 'Zinc', MN: 'Manganeso',
  V: 'Vanadio', LI: 'Litio', FE: 'Hierro', CO: 'Cobalto', NI: 'Níquel', SN: 'Estaño',
  W: 'Tungsteno', MO: 'Molibdeno', U: 'Uranio', COAL: 'Carbón', OTRO: 'Otro',
}

// Símbolo químico mostrado en los badges (Au, Ag, Cu...)
export const COMMODITY_SYMBOLS: Record<Commodity, string> = {
  AU: 'Au', AG: 'Ag', CU: 'Cu', PB: 'Pb', ZN: 'Zn', MN: 'Mn', V: 'V', LI: 'Li',
  FE: 'Fe', CO: 'Co', NI: 'Ni', SN: 'Sn', W: 'W', MO: 'Mo', U: 'U', COAL: 'C', OTRO: '·',
}

export const COUNTRY_LABELS: Record<string, string> = {
  CL: 'Chile', AR: 'Argentina', PE: 'Perú', BO: 'Bolivia', MX: 'México', BR: 'Brasil', CO: 'Colombia',
}

export const SORT_OPTIONS = ['recientes', 'precio_asc', 'precio_desc'] as const
export type SortOption = (typeof SORT_OPTIONS)[number]

export const OFFER_TYPES = ['VENTA_TOTAL', 'VENTA_PARCIAL'] as const
export type OfferType = (typeof OFFER_TYPES)[number]
export const OFFER_TYPE_LABELS: Record<OfferType, string> = {
  VENTA_TOTAL: 'Venta total',
  VENTA_PARCIAL: 'Venta parcial',
}

export const SELLER_TYPES = ['PERSONA_NATURAL', 'PERSONA_JURIDICA', 'ESTADO'] as const
export type SellerType = (typeof SELLER_TYPES)[number]
export const SELLER_TYPE_LABELS: Record<SellerType, string> = {
  PERSONA_NATURAL: 'Persona natural',
  PERSONA_JURIDICA: 'Persona jurídica',
  ESTADO: 'El Estado',
}

export const CONTACT_PREFERENCES = ['EMAIL', 'TELEFONO', 'WHATSAPP'] as const
export type ContactPreference = (typeof CONTACT_PREFERENCES)[number]
export const CONTACT_PREFERENCE_LABELS: Record<ContactPreference, string> = {
  EMAIL: 'Email',
  TELEFONO: 'Teléfono',
  WHATSAPP: 'WhatsApp',
}

export const MINERALIZATION_TYPES = [
  'Veta', 'Diseminado', 'Manto', 'Pórfido', 'Skarn', 'IOCG', 'Epitermal', 'Placer', 'Otro',
] as const

export const WORKS_OPTIONS = [
  'Reconocimiento en terreno', 'Muestreo de superficie', 'Análisis de laboratorio',
  'Mapeo geológico', 'Geofísica', 'Geoquímica', 'Sondajes', 'Estimación de recursos',
  'Informe técnico', 'Producción histórica / actual',
] as const
