export interface ContentHashtag {
  id: number;
  name: string;
  total_used: number;
  status: number;
  created_at: string;
  updated_at: string;
}

export interface ImgGalleryItem {
  id: number;
  image: string;
  image_url?: string;
}

/** Union of all fields across type 1 (Article), 2 (Clips), 3 (Live News), 4 (Show) */
export interface ContentDetailItem {
  id: number;
  channel_id: number;
  staff_id?: number;
  category_id?: number;
  language_id?: number;
  city_id?: number;
  hashtag_id?: string;
  title: string;
  description: string;
  // Images
  portrait_img_storage_type?: number;
  portrait_img?: string;
  landscape_img_storage_type?: number;
  landscape_img?: string;
  web_image_storage_type?: number;
  web_image?: string;
  // Video
  video_upload?: number;
  video_storage_type?: number;
  video_type?: string;
  video?: string;
  // Audio
  audio_upload?: number;
  audio_storage_type?: number;
  audio_type?: string;
  audio?: string;
  // Live News
  live_url?: string;
  // Article-specific
  short_description?: string;
  is_gallery?: number;
  img_gallery?: ImgGalleryItem[];
  // Flags
  is_premium?: number;
  is_like?: number;
  is_comment?: number;
  is_bookmark?: number;
  // Stats
  total_view: number;
  total_like: number;
  total_comment?: number;
  // User state
  is_user_like?: number;
  is_user_bookmark?: number;
  is_follow?: number;
  // Meta
  status: number;
  created_at: string;
  updated_at: string;
  // Channel
  channel_name?: string;
  channel_image?: string;
  is_verified?: number;
  // Taxonomy
  language?: string;
  category?: string;
  city?: string;
  hashtag?: ContentHashtag[];
}

export interface ContentDetailResponse {
  status: number;
  message: string;
  result: ContentDetailItem[];
}
