Commit 739cf62b authored by Chunchi Che's avatar Chunchi Che

Merge branch 'optimize/select_option' into 'main'

Optimize/select option

See merge request !406
parents ec810a55 daddaa2a
Pipeline #28883 passed with stages
in 9 minutes and 5 seconds
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
top: -webkit-fill-available; top: -webkit-fill-available;
margin: auto; margin: auto;
height: fit-content; height: fit-content;
transition: 0.3s; transition: 0.2s;
} }
.mini { .mini {
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
bottom: 0 !important; bottom: 0 !important;
transform: translateY(calc(50% - 66px)); transform: translateY(calc(50% - 66px));
.ant-modal-body { .ant-modal-body {
animation: fadeout 0.3s forwards; animation: fadeout 0.1s forwards;
} }
} }
......
.container {
:global(.ant-pro-checkcard-description) {
font-family: var(--theme-font);
font-size: 0.9rem;
display: flex;
align-items: center;
justify-content: center;
}
:global(.ant-pro-checkcard) {
background-color: #1414142b;
}
:global(.ant-pro-checkcard-checked) {
&::before {
position: absolute;
width: 100%;
height: 100%;
content: "";
z-index: 1;
background-color: #0023bf32;
box-shadow: 0 0 0 1px #0087e6 inset;
}
&::after {
display: none;
}
}
.check-card-group {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0.625rem;
}
.check-card {
max-width: 12.5rem;
margin-inline-end: 0;
margin-block-end: 0;
}
}
...@@ -16,6 +16,7 @@ import { Container } from "@/container"; ...@@ -16,6 +16,7 @@ import { Container } from "@/container";
import { getUIContainer } from "@/container/compat"; import { getUIContainer } from "@/container/compat";
import { NeosModal } from "../NeosModal"; import { NeosModal } from "../NeosModal";
import styles from "./index.module.scss";
type Options = { info: string; response: number }[]; type Options = { info: string; response: number }[];
...@@ -53,6 +54,13 @@ export const OptionModal = () => { ...@@ -53,6 +54,13 @@ export const OptionModal = () => {
setSelecteds(Array.from({ length: maxPage }).map((_) => [])); setSelecteds(Array.from({ length: maxPage }).map((_) => []));
}, [options]); }, [options]);
const onQuickSelect = (response: number) => {
if (store.min === 1) {
sendSelectOptionResponse(container.conn, response);
rs();
}
};
return ( return (
<NeosModal <NeosModal
title={title} title={title}
...@@ -67,35 +75,31 @@ export const OptionModal = () => { ...@@ -67,35 +75,31 @@ export const OptionModal = () => {
{grouped.map( {grouped.map(
(options, i) => (options, i) =>
i === page && ( i === page && (
<div className={styles.container} key={i}>
<CheckCard.Group <CheckCard.Group
key={i}
bordered bordered
multiple multiple
value={selecteds[i]} value={selecteds[i]}
style={{ className={styles["check-card-group"]}
display: "grid",
gridTemplateColumns: "repeat(2, 1fr)",
gap: "0.625rem",
}}
onChange={(values: any) => { onChange={(values: any) => {
const v = selecteds.map((x, i) => (i === page ? values : x)); const v = selecteds.map((x, i) => (i === page ? values : x));
setSelecteds(v); setSelecteds(v);
}} }}
> >
{options.map((option, idx) => ( {options.map((option, idx) => (
<CheckCard <div
key={idx} key={idx}
style={{ onDoubleClick={() => onQuickSelect(option.response)}
width: "12.5rem", >
fontSize: "1rem", <CheckCard
marginInlineEnd: 0, className={styles["check-card"]}
marginBlockEnd: 0, description={option.info}
}}
title={option.info}
value={option.response} value={option.response}
/> />
</div>
))} ))}
</CheckCard.Group> </CheckCard.Group>
</div>
), ),
)} )}
</NeosModal> </NeosModal>
......
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