diff --git a/src/App.tsx b/src/App.tsx index bf1eaa38..6f9f68db 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -40,6 +40,7 @@ import { InfoPrivilege } from "./pages/InfoPrivilege"; import OutdatedLink from "./pages/auth/OutdatedLink"; import { useAfterpay } from "@utils/hooks/useAfterpay"; import { useUserAccountFetcher } from "@utils/hooks/useUserAccountFetcher"; +import ListPageDummy from "./components/Dummys/pageDummys/listPageDummy"; const MyQuizzesFull = lazy(() => import("./pages/createQuize/MyQuizzesFull")); @@ -208,7 +209,7 @@ export default function App() { /> } />} + element={} fallback={} />} /> + + Вам доступно: + + + + + + ); +} diff --git a/src/components/Dummys/QuizCardDummy.tsx b/src/components/Dummys/QuizCardDummy.tsx new file mode 100644 index 00000000..e89c5d6a --- /dev/null +++ b/src/components/Dummys/QuizCardDummy.tsx @@ -0,0 +1,126 @@ +import {Box, Button, IconButton, Skeleton, Typography, useMediaQuery, useTheme} from "@mui/material"; +import LinkIcon from "@icons/LinkIcon"; +import PencilIcon from "@icons/PencilIcon"; +import ChartIcon from "@icons/ChartIcon"; +import CopyIcon from "@icons/CopyIcon"; +import MoreHorizIcon from "@mui/icons-material/MoreHoriz"; +import React from "react"; + +export default function QuizCardDummy() { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down(600)); + return ( + + + + + + + + + + Открытий + + + + Заявок + + + + Конверсия + + + + + + + + + + + + + + + + + ); +} \ No newline at end of file diff --git a/src/components/Dummys/pageDummys/listPageDummy.tsx b/src/components/Dummys/pageDummys/listPageDummy.tsx new file mode 100644 index 00000000..5ee5c817 --- /dev/null +++ b/src/components/Dummys/pageDummys/listPageDummy.tsx @@ -0,0 +1,32 @@ +import { + Box, + Button, + SxProps, + Theme, + Typography, + useMediaQuery, + useTheme, +} from "@mui/material"; +import SectionWrapper from "@ui_kit/SectionWrapper"; +import React from "react"; +import HeaderFull from "@ui_kit/Header/HeaderFull"; +import QuizCardDummy from "../QuizCardDummy"; +import AvailablePrivilegeDummy from "../AvailablePrivilegeDummy"; + + +export default function ListPageDummy() { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down(500)); + + + return ( + <> + + + + + ); +} diff --git a/src/pages/createQuize/CreateButtons.tsx b/src/pages/createQuize/CreateButtons.tsx new file mode 100644 index 00000000..65012251 --- /dev/null +++ b/src/pages/createQuize/CreateButtons.tsx @@ -0,0 +1,58 @@ +import {Link, useNavigate} from "react-router-dom"; +import {Box, Button, Typography, useMediaQuery, useTheme} from "@mui/material"; +import {ReactComponent as TemplateIcon} from "@/assets/quiz-templates/template.svg"; +import {createQuiz, resetEditConfig} from "@root/quizes/actions"; +import React from "react"; + +export default function CreateButtons ({mt}: string) { + const navigate = useNavigate(); + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down(500)); + + return( + + + + + + + ) +} diff --git a/src/pages/createQuize/FirstQuiz.tsx b/src/pages/createQuize/FirstQuiz.tsx deleted file mode 100755 index 8937dffd..00000000 --- a/src/pages/createQuize/FirstQuiz.tsx +++ /dev/null @@ -1,66 +0,0 @@ -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 { Link, useNavigate } from "react-router-dom"; -import { resetEditConfig } from "@root/quizes/actions"; -import AvailablePrivilege from "./AvailablePrivilege"; - -import { ReactComponent as TemplateIcon } from "@/assets/quiz-templates/template.svg"; - -export default function FirstQuiz() { - const navigate = useNavigate(); - const theme = useTheme(); - - return ( - - - Создайте свой первый quiz - - - - - - - - - - ); -} diff --git a/src/pages/createQuize/MyQuizzes.tsx b/src/pages/createQuize/MyQuizzes.tsx deleted file mode 100755 index 5d9b4d69..00000000 --- a/src/pages/createQuize/MyQuizzes.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useTheme, Box } from "@mui/material"; -import ExpandableQuizBlock from "./ExpandableQuizBlock"; -import MyQuizzesFull from "./MyQuizzesFull"; - -export default function MyQuizzes() { - const theme = useTheme(); - - return ( - - - - - - - ); -} diff --git a/src/pages/createQuize/MyQuizzesFull.tsx b/src/pages/createQuize/MyQuizzesFull.tsx index 268dbfc9..9cc082e0 100644 --- a/src/pages/createQuize/MyQuizzesFull.tsx +++ b/src/pages/createQuize/MyQuizzesFull.tsx @@ -1,31 +1,28 @@ import { Box, - Button, + Skeleton, SxProps, Theme, Typography, useMediaQuery, useTheme, } from "@mui/material"; -import { Link } from "react-router-dom"; import { copyQuiz, - createQuiz, - resetEditConfig, updateQuiz, } from "@root/quizes/actions"; import { mutate } from "swr"; import { useQuizes } from "@root/quizes/hooks"; import SectionWrapper from "@ui_kit/SectionWrapper"; import React from "react"; -import { useNavigate } from "react-router-dom"; -import FirstQuiz from "./FirstQuiz"; import QuizCard from "./QuizCard"; 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"; +import AvailablePrivilegeDummy from "@/components/Dummys/AvailablePrivilegeDummy"; +import QuizCardDummy from "@/components/Dummys/QuizCardDummy"; +import CreateButtons from "@/pages/createQuize/CreateButtons"; interface Props { outerContainerSx?: SxProps; @@ -36,8 +33,7 @@ export default function MyQuizzesFull({ outerContainerSx: sx, children, }: Props) { - const { quizes } = useQuizes(); - const navigate = useNavigate(); + const { quizes, isLoading } = useQuizes(); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(500)); @@ -49,9 +45,6 @@ export default function MyQuizzesFull({ return ( <> - {quizes.length === 0 ? ( - - ) : ( - Мои quiz - - - - - - + {isLoading ? : + {quizes.length === 0 ? "Создайте свой первый quiz" : "Мои quiz"} + } + {quizes.length !== 0 && + + } - - {quizes.map((quiz) => { - if (quiz.name.length === 0 || quiz.name === " ") { - updateQuiz(quiz.id, (quiz) => { - quiz.name = QuizgenegationName({ quiz }); - }); - } + {isLoading ? + <> + + + + + + : + <> + + {quizes.length === 0 && + } + {quizes.map((quiz) => { + if (quiz.name.length === 0 || quiz.name === " ") { + updateQuiz(quiz.id, (quiz) => { + quiz.name = QuizgenegationName({ quiz }); + }); + } - return ( - - ); - })} + return ( + + ); + })} + } {children} - )} ); }