export const CRM_TERMS = {
  crm: 'CRM',
  dashboard: 'Dashboard',
  lead: 'ลีด',
  leads: 'ลีด',
  enquiry: 'โอกาสขาย',
  enquiries: 'โอกาสขาย',
  quotation: 'ใบเสนอราคา',
  quotations: 'ใบเสนอราคา',
  approval: 'อนุมัติเอกสาร',
  approvals: 'อนุมัติเอกสาร',
  customer: 'ลูกค้า',
  customers: 'ลูกค้า',
  contact: 'ผู้ติดต่อ',
  contacts: 'ผู้ติดต่อ',
  billingCustomer: 'ลูกค้าผู้รับใบเสนอราคา',
  projectParties: 'ผู้เกี่ยวข้องในโครงการ',
  crmSettings: 'ตั้งค่า CRM',
  leadCount: 'จำนวนลีด',
  enquiryCount: 'จำนวนโอกาสขาย',
  wonCount: 'จำนวนงานที่ชนะ',
  lostCount: 'จำนวนงานที่แพ้',
  revenue: 'มูลค่าใบเสนอราคา',
  conversionRate: 'อัตราการเปลี่ยนสถานะ'
} as const;

export const PIPELINE_STAGE_THAI_LABELS = {
  lead: 'ลีด',
  enquiry: 'โอกาสขาย',
  closed_won: 'ชนะ',
  closed_lost: 'แพ้'
} as const;

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

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

export function getPipelineStageThaiLabel(
  stage: keyof typeof PIPELINE_STAGE_THAI_LABELS | string
) {
  return PIPELINE_STAGE_THAI_LABELS[stage as keyof typeof PIPELINE_STAGE_THAI_LABELS] ?? stage;
}
