export enum WorkMode {
  White = 'white',
  Colour = 'colour',
  Scene = 'scene',
  Music = 'music',
  Control = 'control',
  Night = 'night',
  Disinfect = 'disinfect',
  Rhythm = 'rhythm',
  Plan = 'plan',
  LoveScene = 'love_scene'
}

export type Category = 'light' | 'socket' | 'fan' | 'mainLight' | 'secondaryLight'

export interface ApplyForItem {
  key: string;
  dp: string;
  type: Category;
  enable: boolean;
  name?: string
  index?: number
}

export interface judgmentSupport {
  isSupportColor: boolean;
  isSupportBrightness: boolean;
  isSupportTemperature: boolean;
  isCeilingLight?: boolean;
  isStripLight?: boolean;
  isStringLight?: boolean;
  isMixLight?: boolean;
}

export interface JudgeTimeScheduleProps {
  isDIMLamp?: boolean
  isGARDOT?: boolean
  isGlassRGBWLamp?: boolean
  isOnlyRGBLamp?: boolean
  isRGBLamp?: boolean
  isRGBWLamp?: boolean
  isTWLamp?: boolean
  isSupportColor?: boolean
  isSupportBrightness?: boolean
  isSupportTemperature?: boolean
  isSupportMood?: boolean
  isStringLight?: boolean
  isStripLight?: boolean
  isCeilingLight?: boolean
  isFanLamp?: boolean
  isSupportMode?: boolean
  isMixRGBWLamp?: boolean
}

export enum SceneStatusType {
  Mood = 'Mood',
  Flag = 'Flag',
  Scene = 'Scene',
  DIY = 'DIY'
}

export enum AdjustType {
  WHITE = '00',
  COLOUR = '01',
  LOVE = '03'
}

export interface HSV {
  h: number
  s: number
  v: number
}

export interface DiySceneInfo {
  id: number
  type: 'Static' | 'Dynamic' | 'DIY'
  name: string
  speed?: number
  nodes: DiySceneNode[]
  duration?: number
  mode?: number
  h?: number
  s?: number
  v?: number
  colorTemp?: number
  brightness?: number
}

export interface DiySceneNode {
  top: HSV
  bottom: HSV
}
