import { ADD_TEMP_LIST, ADD_FILM_LIST, ADD_DEVICE_LIST, ADD_SHOP_LIST } from '../constants/counter'

export interface ITempItem {
  filmId: string
  filmName?: string
  templateId: string
  templateUrl: string
  templateName: string
  equipmentCount?: number
  filmCount?: number
  templateShow?: string
  templateEnvironment?: string
  clickItem?: () => void
}
export interface IInitialState {
  tempData: {
    count: number
    list: ITempItem[]
  }
}

const INITIAL_STATE = {
  tempData: {
    list: [],
    count: 0
  },
  deviceData: {
    list: [],
    count: 0
  },
  filmData: {
    list: [],
    count: 0
  },
  shopData: {
    list: [],
    count: 0
  }
}

export default function counter(state = INITIAL_STATE, action) {
  switch (action.type) {
    case ADD_TEMP_LIST:
      return {
        ...state,
        tempData: { list: action.list, count: action.count }
      }
    case ADD_DEVICE_LIST:
      return {
        ...state,
        deviceData: { list: action.list, count: action.count }
      }
    case ADD_FILM_LIST:
      return {
        ...state,
        filmData: { list: action.list, count: action.count }
      }
    case ADD_SHOP_LIST:
      return {
        ...state,
        shopData: { list: action.list, count: action.count }
      }
    default:
      return state
  }
}