From 3e702ccfd3161d55b22b9862d6dd849192000706 Mon Sep 17 00:00:00 2001 From: Tamara Date: Thu, 4 Jan 2024 21:36:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B8=20?= =?UTF-8?q?=D0=B2=D1=8B=D1=85=D0=BE=D0=B4=20=D0=B2=20=D0=BC=D0=BE=D0=B1?= =?UTF-8?q?=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D1=88=D0=B0=D0=BF=D0=BA?= =?UTF-8?q?=D0=B5,=20=D0=BA=D0=BB=D0=B8=D0=BA=D0=B0=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D1=82=D1=83=D0=BB=D1=82=D0=B8=D0=BF?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=BE=D0=B1=D0=B8=D0=BB?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/DesignPage/DesignPage.tsx | 2 +- .../Questions/OwnTextField/OwnTextField.tsx | 23 +++++++---- src/pages/Questions/QuestionsPage.tsx | 2 +- src/pages/createQuize/QuizCard.tsx | 2 +- src/pages/main.tsx | 2 +- src/pages/startPage/EditPage.tsx | 2 +- src/ui_kit/{ => Sidebar}/Sidebar.tsx | 2 +- src/ui_kit/Sidebar/SidebarMobile.tsx | 41 +++++++++++++++++-- src/ui_kit/Sidebar/SidebarModal/index.tsx | 2 +- src/ui_kit/Toolbars/ToTariffsButton.tsx | 4 +- src/ui_kit/Toolbars/TooltipClickInfo.tsx | 38 +++++++++++++++++ 11 files changed, 100 insertions(+), 20 deletions(-) rename src/ui_kit/{ => Sidebar}/Sidebar.tsx (99%) create mode 100644 src/ui_kit/Toolbars/TooltipClickInfo.tsx diff --git a/src/pages/DesignPage/DesignPage.tsx b/src/pages/DesignPage/DesignPage.tsx index 94a2c716..d1cdf236 100644 --- a/src/pages/DesignPage/DesignPage.tsx +++ b/src/pages/DesignPage/DesignPage.tsx @@ -3,7 +3,7 @@ import { Box, useMediaQuery, useTheme, Skeleton } from "@mui/material"; import { setQuizes, setCurrentStep } from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuizStore } from "@root/quizes/store"; -import Sidebar from "@ui_kit/Sidebar"; +import Sidebar from "@ui_kit/Sidebar/Sidebar"; import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import { SidebarMobile } from "../../ui_kit/Sidebar/SidebarMobile"; diff --git a/src/pages/Questions/OwnTextField/OwnTextField.tsx b/src/pages/Questions/OwnTextField/OwnTextField.tsx index 45b0be6f..cf3c2b18 100644 --- a/src/pages/Questions/OwnTextField/OwnTextField.tsx +++ b/src/pages/Questions/OwnTextField/OwnTextField.tsx @@ -13,6 +13,7 @@ import InfoIcon from "../../../assets/icons/InfoIcon"; import type { QuizQuestionText } from "../../../model/questionTypes/text"; import ButtonsOptions from "../ButtonsOptions"; import SwitchTextField from "./switchTextField"; +import TooltipClickInfo from "@ui_kit/Toolbars/TooltipClickInfo"; interface Props { question: QuizQuestionText; @@ -77,14 +78,20 @@ export default function OwnTextField({ question }: Props) { > Пользователю будет дано поле для ввода значения - - - - - + {isMobile ? ( + + ) : ( + + + + + + )} diff --git a/src/pages/createQuize/QuizCard.tsx b/src/pages/createQuize/QuizCard.tsx index c79064c3..80d3f973 100755 --- a/src/pages/createQuize/QuizCard.tsx +++ b/src/pages/createQuize/QuizCard.tsx @@ -62,7 +62,7 @@ export default function QuizCard({ const params = new URLSearchParams(window.location.search); const fromSquiz = params.get("action"); if (fromSquiz === "fromhub") { - window.history.replaceState(null, '', "/list") + window.history.replaceState(null, "", "/list"); pay(); } }, []); diff --git a/src/pages/main.tsx b/src/pages/main.tsx index dc944572..f4fb6b67 100755 --- a/src/pages/main.tsx +++ b/src/pages/main.tsx @@ -1,5 +1,5 @@ import { Header } from "@ui_kit/Header/Header"; -import Sidebar from "@ui_kit/Sidebar"; +import Sidebar from "@ui_kit/Sidebar/Sidebar"; import Box from "@mui/material/Box"; import { useTheme, useMediaQuery, IconButton } from "@mui/material"; import HeaderFull from "@ui_kit/Header/HeaderFull"; diff --git a/src/pages/startPage/EditPage.tsx b/src/pages/startPage/EditPage.tsx index cb50dd5f..2466efb7 100755 --- a/src/pages/startPage/EditPage.tsx +++ b/src/pages/startPage/EditPage.tsx @@ -14,7 +14,7 @@ import { import { setQuizes, updateQuiz, setCurrentStep } from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useQuizStore } from "@root/quizes/store"; -import Sidebar from "@ui_kit/Sidebar"; +import Sidebar from "@ui_kit/Sidebar/Sidebar"; import Stepper from "@ui_kit/Stepper"; import SwitchStepPages from "@ui_kit/switchStepPages"; import { useEffect, useState } from "react"; diff --git a/src/ui_kit/Sidebar.tsx b/src/ui_kit/Sidebar/Sidebar.tsx similarity index 99% rename from src/ui_kit/Sidebar.tsx rename to src/ui_kit/Sidebar/Sidebar.tsx index 1ac05e49..9b11b3a2 100755 --- a/src/ui_kit/Sidebar.tsx +++ b/src/ui_kit/Sidebar/Sidebar.tsx @@ -7,7 +7,7 @@ import { quizSetupSteps } from "@model/quizSettings"; import { Box, IconButton, List, Typography, useTheme } from "@mui/material"; import { useQuizStore } from "@root/quizes/store"; import { useState } from "react"; -import MenuItem from "./MenuItem"; +import MenuItem from "../MenuItem"; import { useCurrentQuiz } from "@root/quizes/hooks"; import { useLocation, useNavigate } from "react-router-dom"; import { setCurrentStep } from "@root/quizes/actions"; diff --git a/src/ui_kit/Sidebar/SidebarMobile.tsx b/src/ui_kit/Sidebar/SidebarMobile.tsx index 814e87ac..1daa34fd 100644 --- a/src/ui_kit/Sidebar/SidebarMobile.tsx +++ b/src/ui_kit/Sidebar/SidebarMobile.tsx @@ -18,10 +18,16 @@ import { Question } from "./icons/Question"; import { Settings } from "./icons/Settings"; import { Pencil } from "./icons/Pencil"; import { ArrowDown } from "./icons/ArrowDown"; -import Sidebar from "@ui_kit/Sidebar"; +import Sidebar from "@ui_kit/Sidebar/Sidebar"; import { Link, useNavigate } from "react-router-dom"; import { updateQuiz } from "@root/quizes/actions"; import { useCurrentQuiz } from "@root/quizes/hooks"; +import { LogoutButton } from "@ui_kit/LogoutButton"; +import { ToTariffsButton } from "@ui_kit/Toolbars/ToTariffsButton"; +import { logout } from "@api/auth"; +import { enqueueSnackbar } from "notistack"; +import { clearAuthToken } from "@frontend/kitui"; +import { clearUserData } from "@root/user"; interface Iprops { open: boolean; @@ -45,10 +51,21 @@ export const SidebarMobile: FC = ({ open, changePage }) => { const [inputOpen, setInputOpen] = useState(false); const quiz = useCurrentQuiz(); const ref = useRef(null); - + const navigate = useNavigate(); const handleClick = (event) => { setAnchorEl(anchorEl ? null : event.currentTarget); }; + async function handleLogoutClick() { + const [, logoutError] = await logout(); + + if (logoutError) { + return enqueueSnackbar(logoutError); + } + + clearAuthToken(); + clearUserData(); + navigate("/"); + } const clickInput = (event) => { if (ref.current && !ref.current.contains(event.target)) setInputOpen(false); @@ -149,7 +166,7 @@ export const SidebarMobile: FC = ({ open, changePage }) => { = ({ open, changePage }) => { {/* {sidebarIcon}*/} {/* */} {/*))}*/} + + + + + + { +export const ToTariffsButton = (color?: string) => { return ( - + ); }; diff --git a/src/ui_kit/Toolbars/TooltipClickInfo.tsx b/src/ui_kit/Toolbars/TooltipClickInfo.tsx new file mode 100644 index 00000000..86a3e5ea --- /dev/null +++ b/src/ui_kit/Toolbars/TooltipClickInfo.tsx @@ -0,0 +1,38 @@ +import { Button, ClickAwayListener, IconButton, Tooltip } from "@mui/material"; +import InfoIcon from "@icons/InfoIcon"; +import { useState } from "react"; + +export default function TooltipClickInfo({ title }: string) { + const [open, setOpen] = useState(false); + + const handleTooltipClose = () => { + setOpen(false); + }; + + const handleTooltipOpen = () => { + setOpen(true); + }; + return ( + <> + +
+ + + + + +
+
+ + ); +}