first balance

This commit is contained in:
2024-02-18 19:51:22 +03:00
parent 7bca25a30c
commit 9010574b59
10 changed files with 295 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
import {BalanceTransaction} from "../../types/balance";
import {createAsyncThunk, createSlice, PayloadAction} from "@reduxjs/toolkit";
import {RootState} from "../../redux/store";
const name = 'balance';
interface BalanceState {
transactions: BalanceTransaction[];
balance: number;
page: number;
loading: boolean;
}
const initialState: BalanceState = {
transactions: [],
balance: 0,
page: 1,
loading: false
}
export const balanceSlice = createSlice({
name: name,
initialState,
reducers: {
appendTransactions: (state, payload: PayloadAction<BalanceTransaction[]>) => {
state.transactions.push(...payload.payload);
state.page = state.page + 1;
state.loading = false
},
setIsLoading: (state, action: PayloadAction<boolean>) => {
state.loading = action.payload;
}
},
})
export const {appendTransactions, setIsLoading} = balanceSlice.actions;
export default balanceSlice.reducer;