frontPanel/src/pages/Questions/OptionsPicture/settingOpytionsPict.tsx
2023-04-15 12:10:59 +03:00

109 lines
3.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Box, Typography, useTheme } from "@mui/material";
import CustomCheckbox from "@ui_kit/CustomCheckbox";
import InfoIcon from "@icons/InfoIcon";
import { useState } from "react";
import FormatIcon2 from "@icons/questionsPage/FormatIcon2";
import FormatIcon1 from "@icons/questionsPage/FormatIcon1";
import CustomButton from "../../../components/CustomButton";
import ProportionsIcon11 from "@icons/questionsPage/ProportionsIcon11";
import ProportionsIcon21 from "@icons/questionsPage/ProportionsIcon21";
import ProportionsIcon12 from "@icons/questionsPage/ProportionsIcon12";
interface Props {
Icon: React.ElementType;
isActive?: boolean;
onClick: () => void;
}
export function SelectIconButton({ Icon, isActive = false, onClick }: Props) {
const theme = useTheme();
return (
<CustomButton
onClick={onClick}
variant="outlined"
startIcon={<Icon color={isActive ? theme.palette.navbarbg.main : theme.palette.brightPurple.main} />}
sx={{
backgroundColor: isActive ? theme.palette.brightPurple.main : "#eee4fc",
borderRadius: 0,
border: "none",
color: isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main,
p: "7px",
width: "auto",
minWidth: 0,
"& .MuiButton-startIcon": {
mr: 0,
ml: 0,
},
"&:hover": {
borderColor: isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main,
},
}}
/>
);
}
type Proportions = "oneOne" | "twoOne" | "oneTwo";
type AlignType = "left" | "right";
export default function SettingOpytionsPict() {
const [proportions, setProportions] = useState<Proportions>("oneOne");
const [alignType, setAlignType] = useState<AlignType>("left");
return (
<>
<Box sx={{ display: "flex" }}>
<Box sx={{ padding: "20px" }}>
<Typography sx={{ marginBottom: "15px" }}>Пропорции</Typography>
<Box
sx={{
display: "flex",
gap: "10px",
marginBottom: "20px",
}}
>
<SelectIconButton
onClick={() => setProportions("oneOne")}
isActive={proportions === "oneOne"}
Icon={ProportionsIcon11}
/>
<SelectIconButton
onClick={() => setProportions("twoOne")}
isActive={proportions === "twoOne"}
Icon={ProportionsIcon21}
/>
<SelectIconButton
onClick={() => setProportions("oneTwo")}
isActive={proportions === "oneTwo"}
Icon={ProportionsIcon12}
/>
</Box>
<Typography sx={{ marginBottom: "15px" }}>Настройки ответов</Typography>
<CustomCheckbox label={"Можно несколько"} />
<CustomCheckbox label={"Большие картинки"} />
<CustomCheckbox label={'Вариант "свой ответ"'} />
</Box>
<Box sx={{ padding: "20px" }}>
<Typography sx={{ marginBottom: "15px" }}>Форма</Typography>
<Box
sx={{
display: "flex",
gap: "10px",
marginBottom: "20px",
}}
>
<SelectIconButton onClick={() => setAlignType("left")} isActive={alignType === "left"} Icon={FormatIcon2} />
<SelectIconButton
onClick={() => setAlignType("right")}
isActive={alignType === "right"}
Icon={FormatIcon1}
/>
</Box>
<Typography sx={{ marginBottom: "15px" }}>Настройки вопросов</Typography>
<CustomCheckbox label={"Необязательный вопрос"} />
<CustomCheckbox label={"Внутреннее название вопроса"} /> <InfoIcon />
</Box>
</Box>
</>
);
}