// Display labels + badge styling for enum values, shared across the UI.

export const STATUS_LABEL: Record<string, string> = {
  BACKLOG: "Backlog",
  TO_DO: "To-Do",
  IN_PROGRESS: "In Progress",
  REVIEW: "Review",
  COMPLETED: "Completed",
};

export const STATUS_ORDER = [
  "BACKLOG",
  "TO_DO",
  "IN_PROGRESS",
  "REVIEW",
  "COMPLETED",
] as const;

export type Status = (typeof STATUS_ORDER)[number];

export const STATUS_BADGE: Record<string, "default" | "primary" | "warning" | "success"> = {
  BACKLOG: "default",
  TO_DO: "default",
  IN_PROGRESS: "primary",
  REVIEW: "warning",
  COMPLETED: "success",
};

export const PRIORITY_LABEL: Record<string, string> = {
  LOW: "Low",
  MEDIUM: "Medium",
  HIGH: "High",
};

export const PRIORITY_BADGE: Record<string, "default" | "warning" | "destructive"> = {
  LOW: "default",
  MEDIUM: "warning",
  HIGH: "destructive",
};

export const PRIORITY_BORDER: Record<string, string> = {
  LOW: "border-l-success",
  MEDIUM: "border-l-warning",
  HIGH: "border-l-destructive",
};

export const CHANNEL_LABEL: Record<string, string> = {
  META: "Meta",
  GOOGLE: "Google",
  TIKTOK: "TikTok",
  OFFLINE: "Offline",
  SEO: "SEO",
  EMAIL: "Email",
  OTHER: "Other",
};

export const PERIOD_LABEL: Record<string, string> = {
  WEEKLY: "Weekly",
  MONTHLY: "Monthly",
  QUARTERLY: "Quarterly",
};

export const KPI_CATEGORY_LABEL: Record<string, string> = {
  ACQUISITION: "Acquisition",
  CONVERSION: "Conversion",
  REVENUE: "Revenue",
  SPEND: "Spend",
  ENGAGEMENT: "Engagement",
  BRAND: "Brand",
  OUTPUT: "Output",
  OTHER: "Other",
};

// ─── Appraisals ──────────────────────────────────────────────────────────────
export const APPRAISAL_HALF_LABEL: Record<string, string> = {
  H1: "H1 (Jan–Jun)",
  H2: "H2 (Jul–Dec)",
};

export const APPRAISAL_STATUS_LABEL: Record<string, string> = {
  DRAFT: "Draft",
  SELF_REVIEW: "Self-Assessment",
  MANAGER_REVIEW: "Manager Review",
  FINALIZED: "Finalized",
  ACKNOWLEDGED: "Acknowledged",
};

export const APPRAISAL_STATUS_BADGE: Record<
  string,
  "default" | "primary" | "warning" | "success"
> = {
  DRAFT: "default",
  SELF_REVIEW: "warning",
  MANAGER_REVIEW: "primary",
  FINALIZED: "primary",
  ACKNOWLEDGED: "success",
};

export const APPRAISAL_BAND_LABEL: Record<string, string> = {
  OUTSTANDING: "Outstanding",
  EXCEEDS: "Exceeds Expectations",
  MEETS: "Meets Expectations",
  BELOW: "Below Expectations",
};

export const APPRAISAL_BAND_BADGE: Record<
  string,
  "default" | "primary" | "warning" | "success" | "destructive"
> = {
  OUTSTANDING: "success",
  EXCEEDS: "primary",
  MEETS: "default",
  BELOW: "destructive",
};

export const APPRAISAL_BANDS_HELP =
  "Outstanding · Exceeds Expectations · Meets Expectations · Below Expectations";

// ─── Scheduled posts ──────────────────────────────────────────────────────────
export const POST_STATUS_LABEL: Record<string, string> = {
  DRAFT: "Draft",
  PENDING_APPROVAL: "Pending Approval",
  APPROVED: "Approved",
  REJECTED: "Rejected",
  POSTED: "Posted",
};

export const POST_STATUS_ORDER = [
  "DRAFT",
  "PENDING_APPROVAL",
  "APPROVED",
  "REJECTED",
  "POSTED",
] as const;

export const POST_STATUS_BADGE: Record<
  string,
  "default" | "primary" | "warning" | "success" | "destructive"
> = {
  DRAFT: "default",
  PENDING_APPROVAL: "warning",
  APPROVED: "primary",
  REJECTED: "destructive",
  POSTED: "success",
};
