From 97f5e034ea3fb246b8c11ba1c5a1d7f9768c52be Mon Sep 17 00:00:00 2001 From: Tamara Date: Sat, 4 Mar 2023 02:54:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=81=D1=82=D0=B5=D0=BF=D0=BF=D0=B5=D1=80=D1=83(?= =?UTF-8?q?=D0=B3=D0=BE=D1=82=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/CreateQuiz/CreateQuiz.tsx | 4 +- src/components/Navbar/Navbar.tsx | 2 +- src/pages/main.tsx | 4 +- src/pages/startPage/StartPage.tsx | 66 ++----- src/pages/startPage/stepOne.tsx | 16 +- src/pages/startPage/steptwo.tsx | 40 ++++- src/pages/startPage/switchStepPages.tsx | 22 ++- src/ui_kit/Stepper.tsx | 209 ++--------------------- 8 files changed, 93 insertions(+), 270 deletions(-) diff --git a/src/components/CreateQuiz/CreateQuiz.tsx b/src/components/CreateQuiz/CreateQuiz.tsx index 3e16ad42..992b3ed2 100644 --- a/src/components/CreateQuiz/CreateQuiz.tsx +++ b/src/components/CreateQuiz/CreateQuiz.tsx @@ -13,7 +13,7 @@ import PuzzlePieceIcon from "../icons/PuzzlePieceIcon"; import GearIcon from "../icons/GearIcon"; import LayoutIcon from "../icons/LayoutIcon"; import CardWithImage from "./CardWithImage"; -import CreationCard from "../../ui_kit/CreationCard"; +import CreationCard from "@ui_kit/CreationCard"; import quizCreationImage1 from "../../assets/quiz-creation-1.png"; import quizCreationImage2 from "../../assets/quiz-creation-2.png"; import cardImage1 from "../../assets/card-1.png"; @@ -21,7 +21,7 @@ import cardImage2 from "../../assets/card-2.png"; import cardImage3 from "../../assets/card-3.png"; import StartPageSettings from "../../pages/startPage/StartPageSettings"; import CustomButton from "../CustomButton"; -import SidebarCreateQuize from "../../ui_kit/sidebarCreateQuize"; +import SidebarCreateQuize from "@ui_kit/sidebarCreateQuize"; const createQuizMenuItems = [ diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index fbae337c..d8b4e05d 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -1,6 +1,6 @@ import NavbarCollapsed from "./NavbarCollapsed"; import NavbarCreateQuiz from "./NavbarCreateQuiz"; -import Header from "../../ui_kit/Header"; +import Header from "@ui_kit/Header"; interface Props { diff --git a/src/pages/main.tsx b/src/pages/main.tsx index ec73c076..12bff90c 100644 --- a/src/pages/main.tsx +++ b/src/pages/main.tsx @@ -1,5 +1,5 @@ -import Header from '../ui_kit/Header'; -import Sidebar from '../ui_kit/sidebarCreateQuize'; +import Header from '@ui_kit/Header'; +import Sidebar from '@ui_kit/sidebarCreateQuize'; import Box from '@mui/material/Box'; import {Outlet} from "react-router-dom"; import {useTheme} from "@mui/material"; diff --git a/src/pages/startPage/StartPage.tsx b/src/pages/startPage/StartPage.tsx index 0d09a2af..25bb195c 100644 --- a/src/pages/startPage/StartPage.tsx +++ b/src/pages/startPage/StartPage.tsx @@ -1,60 +1,24 @@ -import { Box, Typography } from "@mui/material"; -import CardWithImage from "../../components/CreateQuiz/CardWithImage"; -import cardImage1 from "../../assets/card-1.png"; -import cardImage2 from "../../assets/card-2.png"; -import cardImage3 from "../../assets/card-3.png"; -import Card from '@mui/material/Card'; -import CardContent from '@mui/material/CardContent'; -import CardMedia from '@mui/material/CardMedia'; -import { Button, CardActionArea, CardActions } from '@mui/material'; -import CustomButton from "../../components/CustomButton"; import Stepper from '@ui_kit/Stepper'; -import StartPageSettings from "./StartPageSettings"; -import StepOne from "./stepOne"; -// import React from "react"; +import SwitchStepPages from "./switchStepPages"; +import React from "react"; -// const [activeStep, setActiveStep] = React.useState(0); -// -// const handleNext = () => { -// setActiveStep((prevActiveStep) => prevActiveStep + 1); -// }; -// -// const handleBack = () => { -// setActiveStep((prevActiveStep) => prevActiveStep - 1); -// }; - export default function StartPage() { + + const [activeStep, setActiveStep] = React.useState(1); + + const handleNext = () => { + setActiveStep((prevActiveStep) => prevActiveStep + 1); + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + return ( <> - {/*Степпер*/} - - {/*первый шаг*/} - - {/*второй шаг*/} - - Стартовая страница - - - - - - - - {/*третий шаг*/} - + + ) } \ No newline at end of file diff --git a/src/pages/startPage/stepOne.tsx b/src/pages/startPage/stepOne.tsx index 024bba22..c1054f36 100644 --- a/src/pages/startPage/stepOne.tsx +++ b/src/pages/startPage/stepOne.tsx @@ -2,8 +2,12 @@ import {Box, Button, Typography, useTheme} from "@mui/material"; import CreationCard from "@ui_kit/CreationCard"; import quizCreationImage1 from "../../assets/quiz-creation-1.png"; import quizCreationImage2 from "../../assets/quiz-creation-2.png"; -import { useState } from "react"; -export default function StepOne() { + +interface HandleNext { + handleNext: () => void +} + +export default function StepOne({handleNext}:HandleNext) { const theme = useTheme(); return ( <> @@ -12,14 +16,18 @@ export default function StepOne() { gap: "3.4%", mt: "60px", }}> - - + + + + ) } \ No newline at end of file diff --git a/src/pages/startPage/switchStepPages.tsx b/src/pages/startPage/switchStepPages.tsx index 09a79131..fd15b7a9 100644 --- a/src/pages/startPage/switchStepPages.tsx +++ b/src/pages/startPage/switchStepPages.tsx @@ -3,18 +3,24 @@ import StepOne from "./stepOne"; import Steptwo from "./steptwo"; import StartPageSettings from "./StartPageSettings"; -const step = '1'; -export default function SwitchStepPages(step: any) { +interface Props { + activeStep: number, + handleNext: () => void +} - switch (step) { - case '1': - return (); +export default function SwitchStepPages({activeStep = 1, handleNext }: Props) { + + switch (activeStep) { + case 1: + return (); break; - case '2': - return (); + case 2: + return (); break - case '3': + case 3: return (); break; + default: + return (<>) } } \ No newline at end of file diff --git a/src/ui_kit/Stepper.tsx b/src/ui_kit/Stepper.tsx index 1dee54f2..f728dbd0 100644 --- a/src/ui_kit/Stepper.tsx +++ b/src/ui_kit/Stepper.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; -import { useTheme } from '@mui/material/styles'; import MobileStepper from '@mui/material/MobileStepper'; import {Box, Typography} from "@mui/material"; interface Props { @@ -8,7 +7,7 @@ interface Props { steps?: number; } -export default function ProgressMobileStepper({desc = '', activeStep = 1, steps = 6}:Props) { +export default function ProgressMobileStepper({desc = 'Настройка стартовой страницы', activeStep = 1, steps = 6}:Props) { return ( @@ -32,6 +31,7 @@ export default function ProgressMobileStepper({desc = '', activeStep = 1, steps sx={{ width: '100%', flexGrow: 1, + paddingLeft: 0, '& .css-1ej0n1q-MuiLinearProgress-root-MuiMobileStepper-progress': { height: '10px', background: '#ffffff', @@ -44,201 +44,12 @@ export default function ProgressMobileStepper({desc = '', activeStep = 1, steps nextButton={<>} backButton={<>} /> - Шаг {activeStep} из 6 - Настройка стартовой страницы + + Шаг {activeStep} из {steps} + {desc.length == 0 ? <> : {desc}} + ); -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// import * as React from "react"; -// import Box from "@mui/material/Box"; -// import Stepper from "@mui/material/Stepper"; -// import Step from "@mui/material/Step"; -// import StepLabel from "@mui/material/StepLabel"; -// import Button from "@mui/material/Button"; -// import Typography from "@mui/material/Typography"; -// import Navbar from "../components/Navbar/Navbar"; -// import Create from "../pages/createQuize/Create"; -// import { Container, useTheme } from "@mui/material"; -// import Projects from "../pages/createQuize/Projects"; -// import MyQuizzes from "../components/MyQuizzes"; -// import SidebarCreateQuize from "./sidebarCreateQuize"; -// import StepOne from "./StepOne"; -// // import StartPage from "../pages/startPage/StartPage"; -// -// const steps = ["Step 34", "Step 2", "Step 3"]; -// -// export default function HorizontalLinearStepper() { -// const [activeStep, setActiveStep] = React.useState(0); -// const [skipped, setSkipped] = React.useState(new Set()); -// const theme = useTheme(); -// const isStepOptional = (step: number) => { -// return step === 1; -// }; -// -// const isStepSkipped = (step: number) => { -// return skipped.has(step); -// }; -// -// const handleNext = () => { -// let newSkipped = skipped; -// if (isStepSkipped(activeStep)) { -// newSkipped = new Set(newSkipped.values()); -// newSkipped.delete(activeStep); -// } -// -// setActiveStep((prevActiveStep) => prevActiveStep + 1); -// setSkipped(newSkipped); -// }; -// -// const handleBack = () => { -// setActiveStep((prevActiveStep) => prevActiveStep - 1); -// }; -// -// const handleSkip = () => { -// if (!isStepOptional(activeStep)) { -// // You probably want to guard against something like this, -// // it should never occur unless someone's actively trying to break something. -// throw new Error("You can't skip a step that isn't optional."); -// } -// -// setActiveStep((prevActiveStep) => prevActiveStep + 1); -// setSkipped((prevSkipped) => { -// const newSkipped = new Set(prevSkipped.values()); -// newSkipped.add(activeStep); -// return newSkipped; -// }); -// }; -// -// const handleReset = () => { -// setActiveStep(0); -// }; -// let component = null -// switch (activeStep) { -// case 0: -// component = <> -// break; -// case 1: -// component = -// break; -// // case 2: -// // component = -// // break; -// default: -// break; -// } -// return (<> -// -// {/**/} -// -// {component} -// -// -// {activeStep === steps.length ? ( -// -// -// All steps completed - you're finished -// -// -// -// -// -// -// ) : ( -// -// //Тут отображаемые компоненты -// -// -// -// -// {isStepOptional(activeStep) && ( -// -// )} -// -// -// -// )} -// -// -// {steps.map((label, index) => { -// const stepProps: { completed?: boolean } = {}; -// const labelProps: { -// optional?: React.ReactNode; -// } = {}; -// if (isStepOptional(index)) { -// labelProps.optional = ( -// Optional -// ); -// } -// if (isStepSkipped(index)) { -// stepProps.completed = false; -// } -// -// return ( -// -// {label} -// -// ); -// })} -// -// -// ); -// } +} \ No newline at end of file