Commit c028135a authored by Chunchi Che's avatar Chunchi Che

add interactivies in ModalState

parent d75636f9
......@@ -20,6 +20,7 @@ import {
setCardModalIsOpenImpl,
setCardModalTextImpl,
setCardModalImgUrlImpl,
setCardModalInteractiviesImpl,
} from "./modal";
export interface DuelState {
......@@ -39,7 +40,7 @@ export interface DuelState {
const initialState: DuelState = {
modalState: {
cardModal: { isOpen: false },
cardModal: { isOpen: false, interactivies: [] },
},
};
......@@ -63,6 +64,7 @@ const duelSlice = createSlice({
setCardModalIsOpen: setCardModalIsOpenImpl,
setCardModalText: setCardModalTextImpl,
setCardModalImgUrl: setCardModalImgUrlImpl,
setCardModalInteractivies: setCardModalInteractiviesImpl,
},
extraReducers(builder) {
handsCase(builder);
......@@ -80,6 +82,7 @@ export const {
setCardModalIsOpen,
setCardModalText,
setCardModalImgUrl,
setCardModalInteractivies,
} = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null;
......
......@@ -9,6 +9,7 @@ export interface ModalState {
name?: string;
desc?: string;
imgUrl?: string;
interactivies: { desc: string; response: number }[];
};
}
......@@ -40,6 +41,14 @@ export const setCardModalImgUrlImpl: CaseReducer<
state.modalState.cardModal.imgUrl = action.payload;
};
// 更新卡牌弹窗互动选项
export const setCardModalInteractiviesImpl: CaseReducer<
DuelState,
PayloadAction<{ desc: string; response: number }[]>
> = (state, action) => {
state.modalState.cardModal.interactivies = action.payload;
};
export const selectCardModalIsOpen = (state: RootState) =>
state.duel.modalState.cardModal.isOpen;
export const selectCardModalName = (state: RootState) =>
......@@ -48,3 +57,5 @@ export const selectCardModalDesc = (state: RootState) =>
state.duel.modalState.cardModal.desc;
export const selectCardModalImgUrl = (state: RootState) =>
state.duel.modalState.cardModal.imgUrl;
export const selectCardModalInteractivies = (state: RootState) =>
state.duel.modalState.cardModal.interactivies;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment