/**
 * 文件职责：自提设置页面类型定义。
 * 1. 声明页面级表单态与弹窗模式。
 * 2. 声明快照与视图衍生数据类型。
 */
import type {
  PickupBasicSettingsDto,
  PickupFineRuleDto,
  PickupMode,
  PickupPreviewDayDto,
  PickupSlotDto,
  PickupWeekDay,
} from '#/api/store-pickup';

export type PickupDrawerMode = 'create' | 'edit';

export interface PickupSlotFormState {
  capacity: number;
  cutoffMinutes: number;
  dayOfWeeks: PickupWeekDay[];
  enabled: boolean;
  endTime: string;
  id: string;
  name: string;
  startTime: string;
}

export interface PickupSettingsSnapshot {
  basicSettings: PickupBasicSettingsDto;
  bigSlots: PickupSlotDto[];
  fineRule: PickupFineRuleDto;
  mode: PickupMode;
  previewDays: PickupPreviewDayDto[];
}

export interface PickupWeekDayOption {
  label: string;
  value: PickupWeekDay;
}
