import { ITeamsState } from './ITeamsState'; import { ITeam } from '../../models/ITeam'; export type Action = | { type: 'SET_ITEMS'; payload: ITeam[] } | { type: 'SET_CURRENT_PAGE_NUMBER'; payload: number } | { type: 'SET_PAGE_SIZE'; payload: number } | { type: 'SET_IS_PANEL_OPEN'; payload: boolean }; export const initialState: ITeamsState = { items: [], currentPageNumber: 1, pageSize: 10, isPanelOpen: false }; export const reducer = (state: ITeamsState, action: Action): ITeamsState => { switch (action.type) { case 'SET_ITEMS': { return { ...state, items: action.payload }; } case 'SET_CURRENT_PAGE_NUMBER': { return { ...state, currentPageNumber: action.payload }; } case 'SET_PAGE_SIZE': { return { ...state, pageSize: action.payload }; } case 'SET_IS_PANEL_OPEN': { return { ...state, isPanelOpen: action.payload }; } default: { return state; } } };