import { createSlice } from '@reduxjs/toolkit'; export type SavedCard = { id: number; name: string; masked_card_number: string; token: string; }; export type IyzicoUcs = { maskedGsmNumber?: string; script?: string; scriptType?: string; ucsToken?: string; }; export interface SavedCardState { cards?: Array; deletion: { id: number; isModalVisible: boolean; }; ucs?: IyzicoUcs; } const initialState: SavedCardState = { cards: undefined, deletion: { id: null, isModalVisible: false } }; const savedCardSlice = createSlice({ name: 'savedCard', initialState, reducers: { setCards(state, { payload }) { state.cards = payload; }, setDeletionModalId(state, { payload }) { state.deletion.id = payload; }, setDeletionModalVisible(state, { payload }) { state.deletion.isModalVisible = payload; }, setUcs(state, action: { payload: IyzicoUcs }) { state.ucs = action.payload; }, resetUcs() { return initialState; } } }); export const { setCards, setDeletionModalId, setDeletionModalVisible, setUcs, resetUcs } = savedCardSlice.actions; export default savedCardSlice.reducer;