Commit bf7d3d40 authored by chechunchi's avatar chechunchi

add optionModal.tsx

parent 34f0aaa2
Pipeline #19256 passed with stages
in 5 minutes and 53 seconds
...@@ -16,6 +16,7 @@ import CardListModal from "./cardListModal"; ...@@ -16,6 +16,7 @@ import CardListModal from "./cardListModal";
import CheckCardModal from "./checkCardModal"; import CheckCardModal from "./checkCardModal";
import YesNoModal from "./yesNoModal"; import YesNoModal from "./yesNoModal";
import PositionModal from "./positionModal"; import PositionModal from "./positionModal";
import OptionModal from "./optionModal";
// Ref: https://github.com/brianzinn/react-babylonjs/issues/126 // Ref: https://github.com/brianzinn/react-babylonjs/issues/126
const NeosDuel = () => ( const NeosDuel = () => (
...@@ -46,6 +47,7 @@ const NeosDuel = () => ( ...@@ -46,6 +47,7 @@ const NeosDuel = () => (
<CheckCardModal /> <CheckCardModal />
<YesNoModal /> <YesNoModal />
<PositionModal /> <PositionModal />
<OptionModal />
</> </>
); );
......
import React, { useState } from "react";
import { useAppSelector } from "../../hook";
import { store } from "../../store";
import { Modal, Button } from "antd";
import { CheckCard } from "@ant-design/pro-components";
import {
selectOptionModalIsOpen,
selectOptionModalOptions,
} from "../../reducers/duel/modalSlice";
import { sendSelectOptionResponse } from "../../api/ocgcore/ocgHelper";
import {
resetOptionModal,
setOptionModalIsOpen,
} from "../../reducers/duel/mod";
const OptionModal = () => {
const dispatch = store.dispatch;
const isOpen = useAppSelector(selectOptionModalIsOpen);
const options = useAppSelector(selectOptionModalOptions);
const [selected, setSelected] = useState<number | undefined>(undefined);
return (
<Modal
title="请选择表示形式"
open={isOpen}
closable={false}
footer={
<Button
disabled={selected === undefined}
onClick={() => {
if (selected !== undefined) {
sendSelectOptionResponse(selected);
dispatch(setOptionModalIsOpen(false));
dispatch(resetOptionModal());
}
}}
>
submit
</Button>
}
>
<CheckCard.Group
bordered
size="small"
onChange={(value) => {
// @ts-ignore
setSelected(value);
}}
>
{options.map((option, idx) => (
<CheckCard key={idx} title={option.msg} value={option.response} />
))}
</CheckCard.Group>
</Modal>
);
};
export default OptionModal;
...@@ -34,7 +34,7 @@ const PositionModal = () => { ...@@ -34,7 +34,7 @@ const PositionModal = () => {
if (selected !== undefined) { if (selected !== undefined) {
sendSelectPositionResponse(selected); sendSelectPositionResponse(selected);
dispatch(setPositionModalIsOpen(false)); dispatch(setPositionModalIsOpen(false));
dispatch(resetPositionModal); dispatch(resetPositionModal());
} }
}} }}
> >
......
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