export interface SectionArticle {
  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_upload: number;
  video_storage_type: number;
  video_type: string;
  video: string;
  audio_upload: number;
  audio_storage_type: number;
  audio_type: string;
  audio: string;
  short_description: string;
  description: string;
  is_gallery: number;
  is_premium: number;
  is_like: number;
  is_comment: number;
  is_bookmark: number;
  total_view: number;
  total_like: number;
  status: number;
  created_at: string;
  updated_at: string;
  is_verified: number;
  channel_name: string;
  channel_image: string;
  category: string;
  language: string;
  city: string;
  total_comment: number;
  is_user_bookmark: number;
  is_user_like: number;
}

export interface SectionChannel {
  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;
}

export interface SectionCategory {
  id: number;
  name: string;
  app_image_storage_type: number;
  app_image: string;
  web_image_storage_type: number;
  web_image: string;
  is_section: number;
  sort_order: number;
  status: number;
  created_at: string;
  updated_at: string;
}

export interface SectionLanguage {
  id: number;
  name: string;
  app_image_storage_type: number;
  app_image: string;
  web_image_storage_type: number;
  web_image: string;
  sort_order: number;
  status: number;
  created_at: string;
  updated_at: string;
}

export interface SectionOpinionPoll {
  id: number;
  channel_id: number;
  staff_id: number;
  question: string;
  option_a: string;
  option_b: string;
  option_c: string;
  option_d: string;
  storage_type: number;
  image: string;
  closing_date: string;
  is_complete: number;
  is_verified: number;
  status: number;
  created_at: string;
  updated_at: string;
  channel_name: string;
  channel_image: 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;
}

export type SectionDataItem =
  | SectionArticle
  | SectionChannel
  | SectionCategory
  | SectionLanguage
  | SectionOpinionPoll;

export interface Section {
  id: number;
  is_home_screen: number;
  top_category_id: number;
  title: string;
  sub_title: string;
  /** 1=Article, 2=LiveNews, 3=Shows, 4=Story, 5=HeadLine, 6=OpinionPoll, 7=Category, 8=Language, 9=Channel */
  type: number;
  article_type: number;
  screen_layout: string;
  category_id: number;
  language_id: number;
  channel_id: number;
  timing: number;
  is_premium: number;
  no_of_content: number;
  view_all: number;
  sort_order: number;
  status: number;
  created_at: string;
  updated_at: string;
  data: SectionDataItem[];
}

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

export interface SectionListPayload {
  is_home_screen: 1 | 2;
  top_category_id: number;
  page?: number;
}
