import type { BooleanFlag } from '@/constants'

/** 用户是否观看首页CG引导等相关数据 */
export interface UserLaunchCampaignStatusDataDto {
  /** 是否已观看CG */
  isView: BooleanFlag
  /** 服务器时间 */
  currentTime: number
  /** 是否已观看普通动画引导 */
  isViewGuide: BooleanFlag
}
/** 活动配置信息 */
export interface ActivityConfigDto {
  /** 是否处于活动期间 */
  isActivityPeriod: boolean
  /** 签到是否双倍亚币 */
  isDoubleYabi: boolean
  /** 双倍亚币倍率 */
  doubleMultiplier: number
  /** 活动开始时间 */
  activityStartTime: string
  /** 活动结束时间 */
  activityEndTime: string
}

/** CG引导状态 */
export interface CgGuideStatusDto {
  /** 是否已观看CG */
  hasWatchedCg: boolean
}

/** 碎片奖励记录 */
export interface FragmentRewardDto {
  /** 碎片数量 */
  fragmentCount: number
  /** 亚币数量 */
  yabiCount: number
  /** 当前页面是否已领取 */
  hasClaimedThisPage: boolean
}

/** 满意度问卷配置 */
export interface SurveyConfigDto {
  /** 是否在调研期内（上线4周内） */
  isInSurveyPeriod: boolean
  /** 触发阈值（点击次数） */
  clickThreshold: number
  /** 用户是否已提交过问卷 */
  hasSubmitted: boolean
}

/** 问卷提交数据 */
export interface SurveySubmitData {
  /** 满意度评分 1-5 */
  rating: number
  /** 最喜欢的功能（多选） */
  favoriteFeatures: string[]
  /** 改进建议 */
  suggestion: string
}

/** 碎片奖励可触发的页面 key */
export type RewardPageKey =
  | 'askTab'
  | 'pointsStore'
  | 'auction'
  | 'yaTab'
  | 'userPage'
  | 'articleDetail'
