export const CRM_TERMS = {
  crm: 'CRM',
  dashboard: 'Dashboard',
  lead: 'ลีด',
  leads: 'ลีด',
  opportunity: 'โอกาสขาย',
  opportunities: 'โอกาสขาย',
  quotation: 'ใบเสนอราคา',
  quotations: 'ใบเสนอราคา',
  approval: 'อนุมัติเอกสาร',
  approvals: 'อนุมัติเอกสาร',
  customer: 'ลูกค้า',
  customers: 'ลูกค้า',
  contact: 'ผู้ติดต่อ',
  contacts: 'ผู้ติดต่อ',
  billingCustomer: 'ลูกค้าผู้รับใบเสนอราคา',
  contractor: 'ผู้รับเหมา',
  consultant: 'ที่ปรึกษา',
  endCustomer: 'ผู้ใช้งานปลายทาง',
  projectParty: 'ผู้เกี่ยวข้องในโครงการ'
} as const;

const PROJECT_PARTY_ROLE_LABELS: Record<string, string> = {
  billing_customer: 'ลูกค้าผู้รับใบเสนอราคา',
  customer: 'ลูกค้า',
  consultant: 'ที่ปรึกษา',
  contractor: 'ผู้รับเหมา',
  end_customer: 'ผู้ใช้งานปลายทาง',
  other: 'อื่น ๆ'
};

const PIPELINE_STAGE_LABELS: Record<string, string> = {
  lead: 'ลีด',
  opportunity: 'โอกาสขาย',
  quotation_created: 'ออกใบเสนอราคาแล้ว',
  negotiation: 'กำลังเจรจา',
  closed: 'ปิดงาน',
  closed_won: 'ชนะ',
  closed_lost: 'แพ้'
};

export function getProjectPartyRoleThaiLabel(roleCode: string, fallback?: string | null) {
  return PROJECT_PARTY_ROLE_LABELS[roleCode] ?? fallback ?? roleCode;
}

export function getPipelineStageThaiLabel(stageCode: string, fallback?: string | null) {
  return PIPELINE_STAGE_LABELS[stageCode] ?? fallback ?? stageCode;
}
