frontPanel/src/pages/createQuize/QuizGallery.tsx
2023-12-31 05:53:25 +03:00

295 lines
7.9 KiB
TypeScript
Executable File
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,
Button,
FormControl,
InputAdornment,
InputLabel,
MenuItem,
Select,
Tabs,
TextField,
Typography,
useTheme,
} from "@mui/material";
import ComplexNavText from "./ComplexNavText";
import LayoutIconOld from "@icons/LayoutIcon";
import SearchIcon from "@icons/SearchIcon";
import SectionWrapper from "@ui_kit/SectionWrapper";
import ArrowDown from "@icons/ArrowDownIcon";
import { useState } from "react";
import { CustomTab } from "./CustomTab";
import QuizTemplateCard from "./QuizTemplateCard";
import quizTemplateImage1 from "../../assets/quiz-template-1.png";
import quizTemplateImage2 from "../../assets/quiz-template-2.png";
import quizTemplateImage3 from "../../assets/quiz-template-3.png";
import quizTemplateImage4 from "../../assets/quiz-template-4.png";
import quizTemplateImage5 from "../../assets/quiz-template-5.png";
import quizTemplateImage6 from "../../assets/quiz-template-6.png";
const categories = [
"Категория 1",
"Категория 2",
"Категория 3",
"Категория 4",
] as const;
type Category = (typeof categories)[number];
export default function QuizGallery() {
const theme = useTheme();
const [category, setCategory] = useState<Category | "">("");
const [tabIndex, setTabIndex] = useState<number>(0);
const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {
setTabIndex(newValue);
};
return (
<SectionWrapper
maxWidth="lg"
sx={{
mt: "25px",
mb: "74px",
}}
>
<ComplexNavText text1="Галерея quiz" />
<Typography variant="h4" mt="20px" mb="40px">
Мои quiz
</Typography>
<Box
sx={{
backgroundColor: theme.palette.brightPurple.main,
width: "100%",
borderRadius: "8px",
p: "20px",
display: "flex",
alignItems: "center",
mb: "40px",
}}
>
<LayoutIconOld
bgcolor="#EEE4FC"
height="80px"
width="80px"
color={theme.palette.brightPurple.main}
/>
<Box
sx={{
display: "flex",
ml: "25px",
gap: "30px",
alignItems: "baseline",
}}
>
<Typography variant="h4" sx={{ color: "white" }}>
Пустой шаблон
</Typography>
<Typography sx={{ color: "white" }}>
Широкий инструментарий создания quiz с нуля
</Typography>
</Box>
<Button
variant="contained"
sx={{
ml: "auto",
backgroundColor: "white",
color: "black",
px: "30.5px",
width: "auto",
}}
>
Начать
</Button>
</Box>
<Box
sx={{
width: "100%",
}}
>
<Box
sx={{
display: "flex",
gap: "2%",
}}
>
<FormControl
fullWidth
variant="standard"
sx={{
width: "71%",
}}
>
<TextField
fullWidth
id="search"
placeholder="Поиск шаблонов"
sx={{
backgroundColor: theme.palette.background.default,
"& .MuiInputBase-root": {
height: "45px",
borderRadius: "10px",
pl: "10px",
},
}}
InputProps={{
sx: {
borderRadius: "10px",
fontSize: "16px",
lineHeight: "19px",
},
startAdornment: (
<InputAdornment position="start">
<SearchIcon />
</InputAdornment>
),
}}
/>
</FormControl>
<FormControl
fullWidth
size="small"
sx={{
width: "27%",
minWidth: "200px",
height: "45px",
"& .MuiInputLabel-outlined": {
mt: "4px",
ml: "-3px",
},
"& .MuiInputLabel-outlined.MuiInputLabel-shrink": {
ml: "3px",
mt: "0px",
},
}}
>
<InputLabel
sx={{
color: "black",
fontSize: "16px",
lineHeight: "19px",
}}
id="demo-simple-select-label"
>
Категории
</InputLabel>
<Select
labelId="demo-simple-select-label"
id="category-select"
label="Категории"
variant="outlined"
value={category}
onChange={(e) => setCategory(e.target.value as Category)}
sx={{
height: "45px",
borderRadius: "10px",
}}
inputProps={{ sx: { pt: "12px" } }}
IconComponent={(props) => <ArrowDown {...props} />}
>
{categories.map((cat) => (
<MenuItem key={cat} value={cat}>
{cat}
</MenuItem>
))}
</Select>
</FormControl>
</Box>
</Box>
<Tabs
TabIndicatorProps={{ sx: { display: "none" } }}
value={tabIndex}
onChange={handleTabChange}
variant="scrollable"
scrollButtons={false}
sx={{ mt: "15px" }}
>
<CustomTab value={0} label="Квизы" />
<CustomTab value={1} label="Исследования и опросы" />
<CustomTab value={2} label="Формы" />
<CustomTab value={3} label="Тесты" />
<CustomTab value={4} label="E-commerce" />
</Tabs>
<Box
sx={{
display: "flex",
alignItems: "baseline",
mt: "28px",
mb: "40px",
}}
>
<Typography variant="h5">Квизы</Typography>
<Box
sx={{
flexGrow: 1,
width: "auto",
height: "10px",
borderBottom: "1px solid #9A9AAF",
mx: "5px",
mb: "0px",
}}
/>
<Typography sx={{ color: "#4D4D4D" }}>(3)</Typography>
</Box>
<Box
sx={{
display: "flex",
gap: "3.5%",
}}
>
<QuizTemplateCard image={quizTemplateImage1} />
<QuizTemplateCard image={quizTemplateImage2} />
<QuizTemplateCard image={quizTemplateImage3} />
</Box>
<Box
sx={{
display: "flex",
alignItems: "baseline",
mt: "50px",
mb: "40px",
}}
>
<Typography variant="h5">Исследования и опросы</Typography>
<Box
sx={{
flexGrow: 1,
width: "auto",
height: "10px",
borderBottom: "1px solid #9A9AAF",
mx: "5px",
mb: "0px",
}}
/>
<Typography sx={{ color: "#4D4D4D" }}>(3)</Typography>
</Box>
<Box
sx={{
display: "flex",
gap: "3.5%",
}}
>
<QuizTemplateCard image={quizTemplateImage4} />
<QuizTemplateCard image={quizTemplateImage5} />
<QuizTemplateCard image={quizTemplateImage6} />
</Box>
<Box
sx={{
width: "100%",
borderBottom: "1px solid #9A9AAF",
mt: "50px",
}}
/>
<Typography mt="30px" variant="h4">
Нет подходящего шаблона?
</Typography>
<Button
variant="contained"
sx={{
px: "20px",
mt: "30px",
}}
>
Создать квиз с нуля
</Button>
</SectionWrapper>
);
}