// store/emiSlice.ts import { createSlice, PayloadAction } from "@reduxjs/toolkit"; import { MyPlan } from "@/app/(tabs)/payments"; interface PaymentOrder { amount: number; id?: number; expiry_date?: string; order_id: string; payment_link?: string; qr_code_url?: string; status: string; transaction_id?: string; transaction_order_id?: string; transaction_date?: string; payment_mode?: string[]; payment_reference_id?: string; paid_by_upi_handle?: string; upi_handle: string; } interface EmiState { due_amount: number | null; myPlan: MyPlan | null; paymentOrder: PaymentOrder | null; advance_balance: number | null; } const initialState: EmiState = { due_amount: null, myPlan: null, paymentOrder: null, advance_balance: null, }; const emiSlice = createSlice({ name: "emi", initialState, reducers: { setDueAmount(state, action: PayloadAction) { state.due_amount = action.payload; }, setMyPlan(state, action: PayloadAction) { state.myPlan = action.payload; }, setAdvanceBalance(state, action: PayloadAction) { state.advance_balance = action.payload; }, setPaymentOrder(state, action: PayloadAction) { state.paymentOrder = action.payload; }, clearPaymentOrder(state) { state.paymentOrder = null; }, updatePaymentStatus(state, action: PayloadAction) { if (state.paymentOrder) { state.paymentOrder.status = action.payload; } }, }, }); export const { setDueAmount, setMyPlan, setPaymentOrder, clearPaymentOrder, updatePaymentStatus, setAdvanceBalance, } = emiSlice.actions; export default emiSlice.reducer;