import { DeliveryDetailsResponse, OrderHistoryResponse } from '@interfaces'; import { createReducer } from '@reduxjs/toolkit'; import { getAllActiveDeliveries, getCompletedDeliveries } from './thunk'; export interface ActiveDeliveriesState { activeDeliveries: DeliveryDetailsResponse | null; loading: boolean; error: string | null; completedDeliveries: OrderHistoryResponse | null; } const initialState: ActiveDeliveriesState = { activeDeliveries: null, loading: false, error: null, completedDeliveries: null, }; export const activeDeliveriesReducer = createReducer(initialState, builder => { builder .addCase(getAllActiveDeliveries.pending, state => { state.loading = true; }) .addCase(getAllActiveDeliveries.fulfilled, (state, action) => { state.loading = false; state.activeDeliveries = action.payload; // console.log(action.payload); }) .addCase(getAllActiveDeliveries.rejected, (state, action) => { state.loading = false; state.error = action.payload as string; }) .addCase(getCompletedDeliveries.pending, state => { state.loading = true; }) .addCase(getCompletedDeliveries.fulfilled, (state, action) => { state.loading = false; state.completedDeliveries = action.payload; }) .addCase(getCompletedDeliveries.rejected, (state, action) => { state.loading = false; state.error = action.payload as string; }); });