export interface GameList {
  success: boolean
  searchParams: string
  count: Count
  pagination: Pagination
  filters: Filters
  data: Data[]
}

export default interface Game {
  success: boolean
  data: Data
}

export interface Data {
  _id: string
  title: string
  series: string
  steamId: string
  slug: string
  frontImage: string
  screenshots: { id: number; full: string; thumbnail: string }[]
  genre: string[]
  os: Os
  wine: string
  controller: string
  developer: string[]
  publisher: string[]
  releaseDate: string
  shortDesc: string
  reviews: string
  summary: string
  intel: string
  steamRating: number
  systemRequirements: SystemRequirements
  accessedBy: AccessedBy[]
  createDate: string
  lastUpdateDate: string
  lastModifiedBy: string
  scrape: boolean
}

export interface Os {
  windows: boolean
  mac: boolean
  linux: boolean
  android: boolean
  ios: boolean
}
export interface SystemRequirements {
  windows: WindowsOrMacOrLinux
  mac: WindowsOrMacOrLinux
  linux: WindowsOrMacOrLinux
}
export interface WindowsOrMacOrLinux {
  minimum: string
  recommended: string
}

export interface AccessedBy {
  user: string
  store: string[]
  playStatus: string
  soundtrack: string
  rating: number
}

export interface Pagination {
  prev: PrevNext
  next: PrevNext

}

export interface PrevNext {
  page: number
}

export interface Count {
  gamesPerPage: number
  totalGames: number
  currentPage: number
  pages: number
  limit: number
}

export interface Filters {
  series: string
  playStatus: string
  genre: string
  os: string
  store: string
  developer: string
  publisher: string
  controller: string
  soundtrack: string
  intel: string
  wine: string
  rating: string
  steamRating: string
}
