import { defineEnum } from './define-enum';

export const DEAL_STATE = [
  'DRAFT',
  'UNDER_REVIEW',
  'PENDING_APPROVAL',
  'ACTIVE',
  'PAUSED',
  'SOLD_OUT',
  'EXPIRED',
  'REJECTED',
  'ARCHIVED',
] as const;

export const dealState = defineEnum({
  name: 'deal_state',
  values: DEAL_STATE,
  meta: {
    DRAFT:            { order: 0, labelKey: 'draft' },
    UNDER_REVIEW:     { order: 1, labelKey: 'under_review' },
    PENDING_APPROVAL: { order: 2, labelKey: 'pending_approval' },
    ACTIVE:           { order: 3, labelKey: 'active' },
    PAUSED:           { order: 4, labelKey: 'paused' },
    SOLD_OUT:         { order: 5, labelKey: 'sold_out' },
    EXPIRED:          { order: 6, labelKey: 'expired' },
    REJECTED:         { order: 7, labelKey: 'rejected' },
    ARCHIVED:         { order: 8, labelKey: 'archived' },
  },
});

export type DealState = (typeof DEAL_STATE)[number];
