feat: templates

This commit is contained in:
IlyaDoronin 2024-05-20 17:44:32 +03:00
parent bd3564dd0c
commit b650ce09af
91 changed files with 685 additions and 75 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 758 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@ -0,0 +1,15 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M14 12H20M14 16H20M14 20H20M4 5C4 4.73478 4.10536 4.48043 4.29289 4.29289C4.48043 4.10536 4.73478 4 5 4H19C19.2652 4 19.5196 4.10536 19.7071 4.29289C19.8946 4.48043 20 4.73478 20 5V7C20 7.26522 19.8946 7.51957 19.7071 7.70711C19.5196 7.89464 19.2652 8 19 8H5C4.73478 8 4.48043 7.89464 4.29289 7.70711C4.10536 7.51957 4 7.26522 4 7V5ZM4 13C4 12.7348 4.10536 12.4804 4.29289 12.2929C4.48043 12.1054 4.73478 12 5 12H9C9.26522 12 9.51957 12.1054 9.70711 12.2929C9.89464 12.4804 10 12.7348 10 13V19C10 19.2652 9.89464 19.5196 9.70711 19.7071C9.51957 19.8946 9.26522 20 9 20H5C4.73478 20 4.48043 19.8946 4.29289 19.7071C4.10536 19.5196 4 19.2652 4 19V13Z"
stroke="#7E2AEA"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>

After

Width:  |  Height:  |  Size: 883 B

@ -1,45 +1,66 @@
import { Button, Typography } from "@mui/material";
import { Box, Button, Typography, useTheme } from "@mui/material";
import SectionWrapper from "@ui_kit/SectionWrapper";
import ComplexNavText from "./ComplexNavText";
import { createQuiz } from "@root/quizes/actions";
import { useNavigate } from "react-router-dom";
import { Link, useNavigate } from "react-router-dom";
import { resetEditConfig } from "@root/quizes/actions";
import AvailablePrivilege from "./AvailablePrivilege";
import React from "react";
import { ReactComponent as TemplateIcon } from "@/assets/quiz-templates/template.svg";
export default function FirstQuiz() {
const navigate = useNavigate();
const theme = useTheme();
return (
<SectionWrapper
maxWidth="lg"
sx={{
mt: "25px",
mb: "40px",
padding: "10px",
}}
sx={{ mt: "25px", mb: "40px", padding: "10px" }}
>
<Typography
variant="h4"
sx={{
mt: "20px",
mb: "30px",
}}
>
<Typography variant="h4" sx={{ mt: "20px", mb: "30px" }}>
Создайте свой первый quiz
</Typography>
<AvailablePrivilege />
<Button
variant="contained"
data-cy="create-quiz"
sx={{ mt: "20px" }}
onClick={() => {
resetEditConfig();
createQuiz(navigate);
<Box
sx={{
display: "flex",
gap: "20px",
flexWrap: "wrap",
marginTop: "20px",
}}
>
Создать +
</Button>
<Button
variant="contained"
data-cy="create-quiz"
onClick={() => {
resetEditConfig();
createQuiz(navigate);
}}
>
Создать +
</Button>
<Link to="/gallery" style={{ textDecoration: "none" }}>
<Button
sx={{
display: "flex",
gap: "10px",
padding: "13px",
borderRadius: "8px",
background: "#9A9AAF17",
color: theme.palette.brightPurple.main,
transition: ".2s",
"&:hover": {
color: theme.palette.background.paper,
background: theme.palette.brightPurple.main,
"& svg path": { stroke: theme.palette.background.paper },
},
}}
>
<TemplateIcon />
<Typography>Посмотреть шаблоны</Typography>
</Button>
</Link>
</Box>
</SectionWrapper>
);
}

@ -7,6 +7,7 @@ import {
useMediaQuery,
useTheme,
} from "@mui/material";
import { Link } from "react-router-dom";
import {
copyQuiz,
createQuiz,
@ -24,6 +25,8 @@ import HeaderFull from "@ui_kit/Header/HeaderFull";
import QuizgenegationName from "@utils/quizgenegationName";
import AvailablePrivilege from "./AvailablePrivilege";
import { ReactComponent as TemplateIcon } from "@/assets/quiz-templates/template.svg";
interface Props {
outerContainerSx?: SxProps<Theme>;
children?: React.ReactNode;
@ -63,20 +66,50 @@ export default function MyQuizzesFull({
}}
>
<Typography variant="h4">Мои quiz</Typography>
<Button
variant="contained"
<Box
sx={{
padding: isMobile ? "10px" : "10px 47px",
minWidth: "44px",
display: "flex",
gap: "20px",
flexWrap: "wrap",
marginTop: "20px",
}}
onClick={() => {
resetEditConfig();
createQuiz(navigate);
}}
data-cy="create-quiz"
>
{isMobile ? "+" : "Создать +"}
</Button>
<Link to="/gallery" style={{ textDecoration: "none" }}>
<Button
sx={{
display: "flex",
gap: "10px",
padding: "13px",
borderRadius: "8px",
background: "#9A9AAF17",
color: theme.palette.brightPurple.main,
transition: ".2s",
"&:hover": {
color: theme.palette.background.paper,
background: theme.palette.brightPurple.main,
"& svg path": { stroke: theme.palette.background.paper },
},
}}
>
<TemplateIcon />
<Typography>Посмотреть шаблоны</Typography>
</Button>
</Link>
<Button
variant="contained"
sx={{
padding: isMobile ? "10px" : "10px 47px",
minWidth: "44px",
}}
onClick={() => {
resetEditConfig();
createQuiz(navigate);
}}
data-cy="create-quiz"
>
{isMobile ? "+" : "Создать +"}
</Button>
</Box>
</Box>
<Box
sx={{

@ -1,11 +1,15 @@
import { useState, useMemo } from "react";
import { Box, Button, Typography, useTheme } from "@mui/material";
import { useNavigate } from "react-router-dom";
import { createQuiz, resetEditConfig } from "@root/quizes/actions";
import ComplexNavText from "../ComplexNavText";
import { SearchTemplate } from "./SearchTemplate";
import { SelectCategory } from "./SelectCategory";
import { TEMPLATES } from "./templates";
import { Template } from "./Template";
import HeaderFull from "@ui_kit/Header/HeaderFull";
import SectionWrapper from "@ui_kit/SectionWrapper";
import type { Category, CategoryType } from "./Template";
@ -13,6 +17,7 @@ import type { Category, CategoryType } from "./Template";
export default function QuizGallery() {
const [searchValue, setSearchValue] = useState<string>("");
const [categoryType, setCategoryType] = useState<CategoryType | "All">("All");
const navigate = useNavigate();
const filteredTemplates = useMemo(
() =>
@ -38,39 +43,48 @@ export default function QuizGallery() {
);
return (
<SectionWrapper
maxWidth="lg"
sx={{ mt: "25px", mb: "74px", padding: "20px" }}
>
{/* <Header scrollDown={false} setMobileSidebar={() => {}} /> */}
<ComplexNavText text1="Галерея квизов" />
<Typography variant="h4" mt="20px" mb="40px">
Галерея квизов
</Typography>
<Box sx={{ width: "100%" }}>
<Box sx={{ display: "flex", gap: "2%" }}>
<SearchTemplate
searchValue={searchValue}
setSearchValue={setSearchValue}
/>
<SelectCategory
categoryType={categoryType}
setCategoryType={setCategoryType}
/>
<Box>
<HeaderFull isRequest />
<SectionWrapper
maxWidth="lg"
sx={{ mt: "25px", mb: "74px", padding: "20px" }}
>
<ComplexNavText text1="Галерея квизов" />
<Typography variant="h4" mt="20px" mb="40px">
Галерея квизов
</Typography>
<Box sx={{ width: "100%" }}>
<Box sx={{ display: "flex", gap: "2%" }}>
<SearchTemplate
searchValue={searchValue}
setSearchValue={setSearchValue}
/>
<SelectCategory
categoryType={categoryType}
setCategoryType={setCategoryType}
/>
</Box>
</Box>
</Box>
{foundTemplates.map((template) => (
<Template key={template.category} template={template} />
))}
<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>
{foundTemplates.map((template) => (
<Template key={template.category} template={template} />
))}
<Box
sx={{ width: "100%", borderBottom: "1px solid #9A9AAF", mt: "50px" }}
/>
<Typography mt="30px" variant="h4">
Нет подходящего шаблона?
</Typography>
<Button
variant="contained"
sx={{ px: "20px", mt: "30px" }}
onClick={() => {
resetEditConfig();
createQuiz(navigate);
}}
>
Создать квиз с нуля
</Button>
</SectionWrapper>
</Box>
);
}

@ -1,7 +1,70 @@
import type { Category } from "../Template";
import AutoIcon1 from "@/assets/quiz-templates/auto/auto-1.jpg";
import AutoIcon2 from "@/assets/quiz-templates/auto/auto-2.jpg";
import AutoIcon3 from "@/assets/quiz-templates/auto/auto-3.jpg";
import AutoIcon4 from "@/assets/quiz-templates/auto/auto-4.jpg";
import AutoIcon5 from "@/assets/quiz-templates/auto/auto-5.jpg";
import AutoIcon6 from "@/assets/quiz-templates/auto/auto-6.jpg";
import AutoIcon7 from "@/assets/quiz-templates/auto/auto-7.jpg";
import AutoIcon8 from "@/assets/quiz-templates/auto/auto-8.jpg";
import AutoIcon9 from "@/assets/quiz-templates/auto/auto-9.jpg";
import AutoIcon10 from "@/assets/quiz-templates/auto/auto-10.jpg";
export const AUTO_TEMPLATES: Category = {
categoryType: "Auto",
category: "Авто",
templates: [],
templates: [
{
quizId: "eb885519-d9c2-41a5-a69c-6105d2bd9bef",
title: "Узнайте, что у вас с машиной",
picture: AutoIcon1,
},
{
quizId: "68f080e2-ae70-4a1a-be09-05c3decea592",
title: "Узнай стоимость и сроки выкупа своего автомобиля",
picture: AutoIcon2,
},
{
quizId: "446a5e79-8f10-4fb0-aa0f-165e3fbd8d36",
title: "Автошкола «Руль в Руки»",
picture: AutoIcon3,
},
{
quizId: "f30c7d80-852e-405d-8308-a124636b5ffa",
title: "Узнайте, в какой компании выгодней КАСКО и ОСАГО",
picture: AutoIcon4,
},
{
quizId: "e200c96f-9c7a-4859-9bd2-65e42a6450b3",
title:
"Пройди тест, чтобы рассчитать стоимость необходимых детейлинг услуг",
picture: AutoIcon5,
},
{
quizId: "824c4553-ecb5-43e8-9b62-efc4844b01a8",
title: "Онлайн-калькулятор шиномонтажных услуг",
picture: AutoIcon6,
},
{
quizId: "42423a16-1159-4c5c-bb45-4e9940ab6098",
title: "Калькулятор расчёта стоимости тонировки автомобиля",
picture: AutoIcon7,
},
{
quizId: "a0dfe680-30ff-4cac-91a5-28eb79889b68",
title: "Рассчитайте стоимость проката премиум-автомобиля за 3 минуты",
picture: AutoIcon8,
},
{
quizId: "18145500-1fdd-4814-9607-8775fb1a5ea7",
title: "Безопасное автокресло для вашего ребенка",
picture: AutoIcon9,
},
{
quizId: "63aa090c-8943-4a50-a10a-be394e75188b",
title: "Подберём для вас премиум-автомобиль для проката",
picture: AutoIcon10,
},
],
};

@ -1,7 +1,72 @@
import type { Category } from "../Template";
import EductionIcon1 from "@/assets/quiz-templates/education/education-1.jpg";
import EductionIcon2 from "@/assets/quiz-templates/education/education-2.jpg";
import EductionIcon3 from "@/assets/quiz-templates/education/education-3.jpg";
import EductionIcon4 from "@/assets/quiz-templates/education/education-4.jpg";
import EductionIcon5 from "@/assets/quiz-templates/education/education-5.jpg";
import EductionIcon6 from "@/assets/quiz-templates/education/education-6.jpg";
import EductionIcon7 from "@/assets/quiz-templates/education/education-7.jpg";
import EductionIcon8 from "@/assets/quiz-templates/education/education-8.jpg";
import EductionIcon9 from "@/assets/quiz-templates/education/education-9.jpg";
import EductionIcon10 from "@/assets/quiz-templates/education/education-10.jpg";
export const EDUCATION_TEMPLATES: Category = {
categoryType: "Education",
category: "Образование",
templates: [],
templates: [
{
quizId: "27c10a81-f629-4af4-bdd0-2eb6c9cf10a8",
title: "Получите приглашение на занятие по программированию для ребёнка",
picture: EductionIcon1,
},
{
quizId: "bf9aaa3b-5d2d-4f82-9d5e-74862d73d10e",
title: "Научим играть любимую песню на фортепиано за 7 занятий",
picture: EductionIcon2,
},
{
quizId: "e2ed3948-6da2-48f4-86c7-42118b5abf85",
title: "Подбери репетитора для своего ребёнка со скидкой в 20%",
picture: EductionIcon3,
},
{
quizId: "076d3d12-c8f0-442a-b918-7f6085daa3ec",
title: "Обратная связь о вебинаре",
picture: EductionIcon4,
},
{
quizId: "9914fe9c-19b4-47b1-aef8-a3c8e44f4c4c",
title: "Хотите выучить английский?",
picture: EductionIcon5,
},
{
quizId: "ec9c252e-ea2c-489a-809d-27522b7c1972",
title:
"Ответьте на 4 вопроса и узнайте, куда записать ребенка чтобы развивать его таланты",
picture: EductionIcon6,
},
{
quizId: "45acb5b0-1dca-45fe-aaa0-88895bd5b237",
title: "Поделитесь мнением о конференции",
picture: EductionIcon7,
},
{
quizId: "a9f17936-30c8-41ff-84d4-668840e02b56",
title: "Научитесь красиво петь и управлять своим голосом",
picture: EductionIcon8,
},
{
quizId: "51c4d927-4d27-405d-ab7e-6c2707418017",
title: "Узнайте, подойдёт ли вам профессия «Разработчик Phyton»?",
categoryDescription: "(С ветвлением)",
picture: EductionIcon9,
},
{
quizId: "6063ee99-3188-43aa-89bc-895d90b08628",
title: "Проверьте своё знание английского языка",
categoryDescription: "(С ветвлением)",
picture: EductionIcon10,
},
],
};

@ -1,7 +1,147 @@
import type { Category } from "../Template";
import HealthIcon1 from "@/assets/quiz-templates/health/health-1.jpg";
import HealthIcon2 from "@/assets/quiz-templates/health/health-2.jpg";
import HealthIcon3 from "@/assets/quiz-templates/health/health-3.jpg";
import HealthIcon4 from "@/assets/quiz-templates/health/health-4.jpg";
import HealthIcon5 from "@/assets/quiz-templates/health/health-5.jpg";
import HealthIcon6 from "@/assets/quiz-templates/health/health-6.jpg";
import HealthIcon7 from "@/assets/quiz-templates/health/health-7.jpg";
import HealthIcon8 from "@/assets/quiz-templates/health/health-8.jpg";
import HealthIcon9 from "@/assets/quiz-templates/health/health-9.jpg";
import HealthIcon10 from "@/assets/quiz-templates/health/health-10.jpg";
import HealthIcon11 from "@/assets/quiz-templates/health/health-11.jpg";
import HealthIcon12 from "@/assets/quiz-templates/health/health-12.jpg";
import HealthIcon13 from "@/assets/quiz-templates/health/health-13.jpg";
import HealthIcon14 from "@/assets/quiz-templates/health/health-14.jpg";
import HealthIcon15 from "@/assets/quiz-templates/health/health-15.jpg";
import HealthIcon16 from "@/assets/quiz-templates/health/health-16.jpg";
import HealthIcon17 from "@/assets/quiz-templates/health/health-17.jpg";
import HealthIcon18 from "@/assets/quiz-templates/health/health-18.jpg";
import HealthIcon19 from "@/assets/quiz-templates/health/health-19.jpg";
import HealthIcon20 from "@/assets/quiz-templates/health/health-20.jpg";
export const HEALTH_TEMPLATES: Category = {
categoryType: "Health",
category: "Здоровье и уход",
templates: [],
templates: [
{
quizId: "294c9c27-a189-4aa1-b792-a4d4612c99bf",
title: "Узнайте, сколько будет стоить ваш маникюр",
categoryDescription: "Косметология",
picture: HealthIcon1,
},
{
quizId: "89fc7b57-9a13-4889-9e70-9d08714085f5",
title: "Узнайте стоимость услуг косметолога в Казани",
categoryDescription: "Косметология",
picture: HealthIcon2,
},
{
quizId: "425c75c7-9412-485e-930f-3ae65f517fab",
title:
"Узнайте, как правильно ухаживать за вашим типом кожи в домашних условиях",
categoryDescription: "Косметология",
picture: HealthIcon3,
},
{
quizId: "99461154-6296-4c8c-930d-2b1809f221cd",
title: "Какая косметологическая процедура вам нужна?",
categoryDescription: "Косметология",
picture: HealthIcon4,
},
{
quizId: "cbf6a8d4-538a-4edf-9477-062a15361b04",
title: "5 вопросов до улыбки вашей мечты",
categoryDescription: "Стоматология",
picture: HealthIcon5,
},
{
quizId: "017d9d5c-57a8-4eca-95c1-11db847a0e18",
title:
"Пройдите небольшой опрос, и узнайте, какая процедура у стоматолога вам нужна",
categoryDescription: "Стоматология",
picture: HealthIcon6,
},
{
quizId: "162cb4f1-ab0a-49c4-b773-16932700f871",
title: "Какой врач мне нужен?",
picture: HealthIcon7,
},
{
quizId: "c851276b-505d-492b-9acb-5cd85e6fe3a7",
title: "Психологическая помощь",
categoryDescription: "Психолог",
picture: HealthIcon8,
},
{
quizId: "2fa1d438-72ac-49b2-95b6-73a8c9d8347a",
title: "Ищешь психолога?",
categoryDescription: "Психолог",
picture: HealthIcon9,
},
{
quizId: "b0b30965-ec43-4718-8a1f-2ae35f932a61",
title: "Подбор медицинского центра для лечебного массажа",
categoryDescription: "Массаж",
picture: HealthIcon10,
},
{
quizId: "722aff37-d247-4341-9908-412e41f9d7cd",
title: "Исследование рынка мобильных приложений для здоровья",
picture: HealthIcon11,
},
{
quizId: "f0d800bc-2df0-42a6-8457-5c7759021854",
title: "Выполним стрижки и окрашивания любой сложности",
categoryDescription: "Косметология",
picture: HealthIcon12,
},
{
quizId: "f88e2eb6-66e6-41ba-9d3d-1d7fe69d30d8",
title: "Массажный салон «Промято» в Ярославле",
categoryDescription: "Массаж",
picture: HealthIcon13,
},
{
quizId: "9b2d47e8-d45f-48b7-a7fd-1c9c35edab17",
title: "Подбери себе направление в йоге",
categoryDescription: "Йога",
picture: HealthIcon14,
},
{
quizId: "8f6a1b3f-27fc-4e1c-a117-f67867e5df65",
title: "Подберите за 2 минуты рацион готового питания",
categoryDescription: "Питание",
picture: HealthIcon15,
},
{
quizId: "73ff039f-3e93-4412-80ab-749f54c9bafa",
title: "Рассчитайте стоимость установки грудных имплантов",
picture: HealthIcon16,
},
{
quizId: "2b4be94e-3505-41ae-85bb-c6c4a4d1bcd4",
title: "Не знаете, как выбрать очки? Подберите оправу под свои параметры",
categoryDescription: "Зрение",
picture: HealthIcon17,
},
{
quizId: "28b133a5-0e6a-46b9-bd6b-81a44b808341",
title: "Санаторий в Подмосковье для пожилых людей",
categoryDescription: "Санаторий",
picture: HealthIcon18,
},
{
quizId: "88a8e952-1475-4052-b99a-bbb7eb31249c",
title: "Свежие блюда своими руками. 15 минут и готово",
categoryDescription: "Питание",
picture: HealthIcon19,
},
{
quizId: "6baf144a-7401-442a-a513-6bc5aa3f1a6a",
title: "Рассчитайте стоимость отдыха в лучшей бане Москвы",
picture: HealthIcon20,
},
],
};

@ -1,7 +1,70 @@
import type { Category } from "../Template";
import ProductionIcon1 from "@/assets/quiz-templates/production/production-1.jpg";
import ProductionIcon2 from "@/assets/quiz-templates/production/production-2.jpg";
import ProductionIcon3 from "@/assets/quiz-templates/production/production-3.jpg";
import ProductionIcon4 from "@/assets/quiz-templates/production/production-4.jpg";
import ProductionIcon5 from "@/assets/quiz-templates/production/production-5.jpg";
import ProductionIcon6 from "@/assets/quiz-templates/production/production-6.jpg";
import ProductionIcon7 from "@/assets/quiz-templates/production/production-7.jpg";
import ProductionIcon8 from "@/assets/quiz-templates/production/production-8.jpg";
import ProductionIcon9 from "@/assets/quiz-templates/production/production-9.jpg";
import ProductionIcon10 from "@/assets/quiz-templates/production/production-10.jpg";
export const PRODUCTION_TEMPLATES: Category = {
categoryType: "Production",
category: "Производство",
templates: [],
templates: [
{
quizId: "14859665-e8ea-4e4a-b381-af88179f8ba3",
title: "Рассчитайте стоимость постельного белья",
picture: ProductionIcon1,
},
{
quizId: "39cb17b6-10df-4107-abb8-6726d4845cbf",
title: "Ответьте на 4 вопроса и подберите межкомнатную дверь",
picture: ProductionIcon2,
},
{
quizId: "21b125ed-0213-4a3c-bd30-1a75b3953f4a",
title: "Узнай стоимость производства и монтажа металлических ворот",
picture: ProductionIcon3,
},
{
quizId: "ed1a01f4-9497-4a79-adac-8f4fbf7f26f5",
title: "Заполните анкету, чтобы заказать изготовление ювелирного изделия",
picture: ProductionIcon4,
},
{
quizId: "c94834f8-dd3a-43a0-8d40-6ebae4f475ed",
title: "Идеальный пол для любого помещения",
picture: ProductionIcon5,
},
{
quizId: "35ccb5b5-f4d2-4bbc-b172-5984356e7cfb",
title: "Рассчитайте стоимость изготовления зеркала",
picture: ProductionIcon6,
},
{
quizId: "e89d3758-2cfb-4566-9eb2-733c1c11ea03",
title: "Подбери лучшие кеды",
picture: ProductionIcon7,
},
{
quizId: "26f00205-8373-4d00-bd93-7ced6cd0f509",
title: "Идеальная кровать для вашего ребенка",
picture: ProductionIcon8,
},
{
quizId: "4cc7cacf-30a9-4571-9319-dd186b915624",
title:
"Рассчитайте стоимость кухни ручной работы из Италии с доставкой в Россию",
picture: ProductionIcon9,
},
{
quizId: "0d839f24-53e8-4dbd-9d9b-c57ac8e53a9c",
title: "Узнайте примерную стоимость индивидуального пошива одежды",
picture: ProductionIcon10,
},
],
};

@ -1,7 +1,76 @@
import type { Category } from "../Template";
import RealEstateIcon1 from "@/assets/quiz-templates/real-estate/real-estate-1.jpg";
import RealEstateIcon2 from "@/assets/quiz-templates/real-estate/real-estate-2.jpg";
import RealEstateIcon3 from "@/assets/quiz-templates/real-estate/real-estate-3.jpg";
import RealEstateIcon4 from "@/assets/quiz-templates/real-estate/real-estate-4.jpg";
import RealEstateIcon5 from "@/assets/quiz-templates/real-estate/real-estate-5.jpg";
import RealEstateIcon6 from "@/assets/quiz-templates/real-estate/real-estate-6.jpg";
import RealEstateIcon7 from "@/assets/quiz-templates/real-estate/real-estate-7.jpg";
import RealEstateIcon8 from "@/assets/quiz-templates/real-estate/real-estate-8.jpg";
import RealEstateIcon9 from "@/assets/quiz-templates/real-estate/real-estate-9.jpg";
import RealEstateIcon10 from "@/assets/quiz-templates/real-estate/real-estate-10.jpg";
export const REAL_ESTATE_TEMPLATES: Category = {
categoryType: "RealEstate",
category: "Недвижимость",
templates: [],
templates: [
{
quizId: "d3930e95-ae95-4e2f-b9f9-79b929c2e1e6",
title: "Рассчитайте стоимость каркасного дома своей мечты",
categoryDescription: "Строительство и ремонт",
picture: RealEstateIcon1,
},
{
quizId: "4e488b9b-d273-4f1c-b729-991fcbc006cd",
title: "Краткосрочная аренда коммерческих помещений",
categoryDescription: "Аренда",
picture: RealEstateIcon2,
},
{
quizId: "84605c72-ce1d-49fb-a40e-7ed2ab96ac7d",
title: "Подберем новостройку под ваши критерии",
picture: RealEstateIcon3,
},
{
quizId: "ab701ab8-b8ad-4f45-a1ef-f0ab5357a587",
title: "15 лучших предложений от застройщиков в Москве",
picture: RealEstateIcon4,
},
{
quizId: "a5998d6c-c055-4702-bfc7-e1185fffa6c6",
title: "Подберем идеальное жильё в Риме",
picture: RealEstateIcon5,
},
{
quizId: "bfbf97f2-3eba-4386-a794-4fa8f5825ac1",
title: "Подбери уютный коттедж для отдыха в Подмосковье за 1 минуту",
picture: RealEstateIcon6,
},
{
quizId: "1b6ce902-0568-43c2-90a1-55dec710cb4f",
title: "Среди сотен новостроек подберём для вас самые подходящие",
picture: RealEstateIcon7,
},
{
quizId: "0dfa128f-8c2b-4519-8cf4-05f9171979e1",
title: "Рассчитайте стоимость бронирования клуба для мероприятий",
categoryDescription: "Aренда",
picture: RealEstateIcon8,
},
{
quizId: "8c4c8e3d-19cb-4c55-8952-558b877245bd",
title:
"Запишитесь на консультацию и получите каталог объектов в перспективных районах Дубая",
categoryDescription: "Услуги риелтора",
picture: RealEstateIcon9,
},
{
quizId: "36ebbe5d-4d85-453d-b5d2-51cdf7f95327",
title:
"Строим дома за 90 дней вместе со всеми коммуникациями и электричеством",
categoryDescription: "Строительство и ремонт",
picture: RealEstateIcon10,
},
],
};

@ -1,7 +1,72 @@
import type { Category } from "../Template";
import RepairIcon1 from "@/assets/quiz-templates/repair/repair-1.jpg";
import RepairIcon2 from "@/assets/quiz-templates/repair/repair-2.jpg";
import RepairIcon3 from "@/assets/quiz-templates/repair/repair-3.jpg";
import RepairIcon4 from "@/assets/quiz-templates/repair/repair-4.jpg";
import RepairIcon5 from "@/assets/quiz-templates/repair/repair-5.jpg";
import RepairIcon6 from "@/assets/quiz-templates/repair/repair-6.jpg";
import RepairIcon7 from "@/assets/quiz-templates/repair/repair-7.jpg";
import RepairIcon8 from "@/assets/quiz-templates/repair/repair-8.jpg";
import RepairIcon9 from "@/assets/quiz-templates/repair/repair-9.jpg";
import RepairIcon10 from "@/assets/quiz-templates/repair/repair-10.jpg";
export const REPAIR_TEMPLATES: Category = {
categoryType: "Repair",
category: "Ремонт",
templates: [],
templates: [
{
quizId: "556760d9-652b-4ff1-91d5-3dc629650882",
title: "Капитальный ремонт квартир с фиксированной ценой",
picture: RepairIcon1,
},
{
quizId: "8f034581-71fb-467e-82dd-a415d4b8d73c",
title: "Натяжные потолки с гарантией 25 лет",
picture: RepairIcon2,
},
{
quizId: "fcb8c47b-f409-400c-b3d5-66657755f885",
title: "Рассчитайте стоимость пластиковых окон",
picture: RepairIcon3,
},
{
quizId: "7544a8d3-ff03-491d-9189-1433fe307ad0",
title: "Рассчитайте стоимость установки тёплого пола",
picture: RepairIcon4,
},
{
quizId: "dcf8bd1d-4c3f-4d1a-9efa-3d25991068f9",
title:
"Рассчитайте стоимость лестницы под ключ по вашим параметрам всего за одну минуту",
picture: RepairIcon5,
},
{
quizId: "2a921839-e5c8-45aa-afca-703d0dad8fad",
title:
"Ответьте на 5 вопросов и рассчитайте стоимость вентиляции с монтажом под объект",
picture: RepairIcon6,
},
{
quizId: "ed13de01-f803-456a-b237-3644c808a0a1",
title: "Узнайте стоимость освещения вашего объекта",
picture: RepairIcon7,
},
{
quizId: "8d05e910-df1f-4ad3-9679-c0c3f7b7e575",
title: "Узнайте стоимость кухни на заказ",
picture: RepairIcon8,
},
{
quizId: "9cabba56-2861-40dc-8f33-800745c3c949",
title: "Узнай стоимость дизайна интерьера под ключ",
picture: RepairIcon9,
},
{
quizId: "1c0eb1ad-ed3e-43f9-bcba-f094d13fef5b",
title:
"Требуется штукатурка? Узнайте примерную стоимость работ и материалов.",
picture: RepairIcon10,
},
],
};

@ -1,7 +1,69 @@
import type { Category } from "../Template";
import ResearchIcon1 from "@/assets/quiz-templates/research/research-1.jpg";
import ResearchIcon2 from "@/assets/quiz-templates/research/research-2.jpg";
import ResearchIcon3 from "@/assets/quiz-templates/research/research-3.jpg";
import ResearchIcon4 from "@/assets/quiz-templates/research/research-4.jpg";
import ResearchIcon5 from "@/assets/quiz-templates/research/research-5.jpg";
import ResearchIcon6 from "@/assets/quiz-templates/research/research-6.jpg";
import ResearchIcon7 from "@/assets/quiz-templates/research/research-7.jpg";
import ResearchIcon8 from "@/assets/quiz-templates/research/research-8.jpg";
import ResearchIcon9 from "@/assets/quiz-templates/research/research-9.jpg";
import ResearchIcon10 from "@/assets/quiz-templates/research/research-10.jpg";
export const RESEARCH_TEMPLATES: Category = {
categoryType: "Research",
category: "Исследовательские",
templates: [],
templates: [
{
quizId: "1b356222-e762-4f3d-87e5-4c3d6c0a9467",
title: "Общественные настроения. Социальное самочувствие граждан",
picture: ResearchIcon1,
},
{
quizId: "7e901bea-6774-48b7-b31f-b62fd21ac88f",
title: "Социальные институты и проблемы общества",
picture: ResearchIcon2,
},
{
quizId: "2570ccef-563c-4d8e-a052-d6ad142fb789",
title: "Уровень жизни населения",
picture: ResearchIcon3,
},
{
quizId: "b9394ed2-25e0-4e55-9d2a-9577856e903d",
title: "Проблемы семьи и семейные отношения",
picture: ResearchIcon4,
},
{
quizId: "922088b6-9e02-4a0f-b6af-a7150781d4eb",
title: "Здоровье и здравоохранение",
picture: ResearchIcon5,
},
{
quizId: "528ef773-2da5-4988-b687-b393d687ed00",
title: "Религия и Церковь",
picture: ResearchIcon6,
},
{
quizId: "8887c07c-831f-40c6-9bf7-951ab09546da",
title: "Трудоустройство молодежи",
picture: ResearchIcon7,
},
{
quizId: "850fde64-0462-40f7-992e-44fd0177e3b7",
title: "Культура и ценности",
picture: ResearchIcon8,
},
{
quizId: "2c6ba86a-6c86-47b2-b71c-3c4ebaf29fbb",
title: "Наука и технологии",
picture: ResearchIcon9,
},
{
quizId: "7ccd26ff-ccf5-4d6c-a148-1612a970211e",
title: "Бизнес и предпринимательство",
picture: ResearchIcon10,
},
],
};