import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { fetchStoke } from './stock'; import { Stoke, StockSliceState, Status } from './types'; const initialState: StockSliceState = { items: [], status: Status.LOADING, // loading | success | error }; const stokeSlice = createSlice({ name: 'stoke', initialState, reducers: { setItems(state, action: PayloadAction) { state.items = action.payload; }, }, extraReducers: (builder) => { builder.addCase(fetchStoke.pending, (state, action) => { state.status = Status.LOADING; state.items = []; }); builder.addCase(fetchStoke.fulfilled, (state, action) => { state.items = action.payload; state.status = Status.SUCCESS; }); builder.addCase(fetchStoke.rejected, (state, action) => { state.status = Status.ERROR; state.items = []; }); }, }); export const { setItems } = stokeSlice.actions; export default stokeSlice.reducer;