Commit a199e5f5 authored by Chunchi Che's avatar Chunchi Che

add modal list slice

parent f5fb9b2e
......@@ -23,6 +23,8 @@ import {
setCardModalTextImpl,
setCardModalImgUrlImpl,
setCardModalInteractiviesImpl,
setCardListModalIsOpenImpl,
setCardListModalInfoImpl,
} from "./modalSlice";
import {
MonsterState,
......@@ -73,6 +75,7 @@ export interface DuelState {
const initialState: DuelState = {
modalState: {
cardModal: { isOpen: false, interactivies: [] },
cardListModal: { isOpen: false, list: [] },
},
};
......@@ -111,6 +114,8 @@ const duelSlice = createSlice({
setCardModalText: setCardModalTextImpl,
setCardModalImgUrl: setCardModalImgUrlImpl,
setCardModalInteractivies: setCardModalInteractiviesImpl,
setCardListModalIsOpen: setCardListModalIsOpenImpl,
setCardListModalInfo: setCardListModalInfoImpl,
},
extraReducers(builder) {
handsCase(builder);
......@@ -141,6 +146,8 @@ export const {
clearMagicSelectInfo,
removeHand,
initCemetery,
setCardListModalIsOpen,
setCardListModalInfo,
} = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null;
......
......@@ -11,6 +11,15 @@ export interface ModalState {
imgUrl?: string;
interactivies: { desc: string; response: number }[];
};
// 卡牌列表弹窗
cardListModal: {
isOpen: boolean;
list: {
name?: string;
desc?: string;
imgUrl?: string;
}[];
};
}
// 更新卡牌弹窗打开状态
......@@ -49,6 +58,24 @@ export const setCardModalInteractiviesImpl: CaseReducer<
state.modalState.cardModal.interactivies = action.payload;
};
// 更新卡牌列表弹窗打开状态
export const setCardListModalIsOpenImpl: CaseReducer<
DuelState,
PayloadAction<boolean>
> = (state, action) => {
state.modalState.cardListModal.isOpen = action.payload;
};
// 更新卡牌列表文本
export const setCardListModalInfoImpl: CaseReducer<
DuelState,
PayloadAction<{ name?: string; desc?: string; imgUrl?: string }[]>
> = (state, action) => {
const list = action.payload;
state.modalState.cardListModal.list = list;
};
export const selectCardModalIsOpen = (state: RootState) =>
state.duel.modalState.cardModal.isOpen;
export const selectCardModalName = (state: RootState) =>
......@@ -59,3 +86,7 @@ export const selectCardModalImgUrl = (state: RootState) =>
state.duel.modalState.cardModal.imgUrl;
export const selectCardModalInteractivies = (state: RootState) =>
state.duel.modalState.cardModal.interactivies;
export const selectCardListModalIsOpen = (state: RootState) =>
state.duel.modalState.cardListModal.isOpen;
export const selectCardListModalInfo = (state: RootState) =>
state.duel.modalState.cardListModal.list;
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