export interface ChannelDetail {
  id: number;
  name: string;
  portrait_img_storage_type: number;
  portrait_img: string;
  landscape_img_storage_type: number;
  landscape_img: string;
  description: string;
  ch_user_name: string;
  ch_full_name: string;
  country_code: string;
  ch_mobile_number: string;
  country_name: string;
  ch_email: string;
  remaining_article_upload: number;
  remaining_clips_upload: number;
  remaining_live_news_upload: number;
  remaining_show_upload: number;
  remaining_opinion_poll_upload: number;
  remaining_epaper_upload: number;
  status: number;
  created_at: string;
  updated_at: string;
  total_article: number;
  total_clips: number;
  total_live_news: number;
  total_shows: number;
  total_opinion_poll: number;
  total_feed: number;
  total_post: number;
  followers: number;
  is_verified: number;
  is_follow: number;
}

export interface ChannelDetailResponse {
  status: number;
  message: string;
  result: ChannelDetail[];
}

export interface ChannelContentItem {
  id: number;
  channel_id: number;
  staff_id?: number;
  category_id?: number;
  language_id?: number;
  city_id?: number;
  hashtag_id?: string;
  title: string;
  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_storage_type?: number;
  video?: string;
  audio_upload?: number;
  audio?: string;
  description?: string;
  short_description?: string;
  live_url?: string;
  is_premium?: number;
  is_like?: number;
  is_comment?: number;
  is_bookmark?: number;
  total_view: number;
  total_like?: number;
  total_comment?: number;
  is_user_bookmark?: number;
  is_user_like?: number;
  status: number;
  created_at: string;
  updated_at: string;
  language?: string;
  category?: string;
  city?: string;
  hashtag?: { id: number; name: string }[];
  // Opinion Poll fields
  question?: string;
  option_a?: string;
  option_b?: string;
  option_c?: string;
  option_d?: string;
  option_a_count?: number;
  option_b_count?: number;
  option_c_count?: number;
  option_d_count?: number;
  percentage_option_a?: string;
  percentage_option_b?: string;
  percentage_option_c?: string;
  percentage_option_d?: string;
  total_opinions?: number;
  user_ans?: string;
  closing_date?: string;
  is_complete?: number;
}

export interface ChannelContentResponse {
  status: number;
  message: string;
  result: ChannelContentItem[];
  total_rows: number;
  total_page: number;
  current_page: number;
  more_page: boolean;
}

export interface ChannelContentPayload {
  type: number;
  channel_id: number;
  user_id?: number;
}
