/**
 * 活动类型定义
 */

export interface Activity {
  id?: number
  name: string
  description?: string
  shortLinkPrefix?: string
  startTime: string
  endTime: string
  status: ActivityStatus
  rewardType?: RewardType
  rewardAmount?: number
  rewardDesc?: string
  posterUrl?: string
  callbackUrl?: string
  createdAt?: string
  updatedAt?: string
}

export type ActivityStatus = 'DRAFT' | 'PUBLISHED' | 'PAUSED' | 'ENDED'

export type RewardType = 'COUPON' | 'POINTS' | 'CASH' | 'GIFT'

export interface ActivityStats {
  views: number
  shares: number
  clicks: number
  conversions: number
  rewardIssued: number
}

export interface ActivityGraphData {
  dates: string[]
  views: number[]
  shares: number[]
  clicks: number[]
}

export interface LeaderboardEntry {
  rank: number
  userId: string
  userName: string
  shares: number
  clicks: number
  rewards: number
}
