import { createSlice } from "@reduxjs/toolkit"; import type { PayloadAction } from "@reduxjs/toolkit"; import { ITransactionResponse } from "../components/types"; export interface checkoutState { transactionResponse: ITransactionResponse; } const initialState: checkoutState = { transactionResponse: { address: "", baseFiat: "", baseFiatToUSDRate: 0, crypto: "USDC", expectedAmountInUSD: 0, expectedAmountInCrypto: 0, feeInCrypto: 0, expectedAmountWithFeeInCrypto: 0, reference: "", usdToCryptoRate: 0, imageFilePath: "", }, }; export const checkoutSlice = createSlice({ name: "checkout", initialState, reducers: { transactionResult: (state, action: PayloadAction) => { // Redux Toolkit allows us to write "mutating" logic in reducers. It state.transactionResponse = action.payload; }, }, }); // Action creators are generated for each case reducer function export const { transactionResult } = checkoutSlice.actions; export default checkoutSlice.reducer;