правки по степперу(готов)
This commit is contained in:
parent
159dc011ef
commit
97f5e034ea
@ -13,7 +13,7 @@ import PuzzlePieceIcon from "../icons/PuzzlePieceIcon";
|
|||||||
import GearIcon from "../icons/GearIcon";
|
import GearIcon from "../icons/GearIcon";
|
||||||
import LayoutIcon from "../icons/LayoutIcon";
|
import LayoutIcon from "../icons/LayoutIcon";
|
||||||
import CardWithImage from "./CardWithImage";
|
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 quizCreationImage1 from "../../assets/quiz-creation-1.png";
|
||||||
import quizCreationImage2 from "../../assets/quiz-creation-2.png";
|
import quizCreationImage2 from "../../assets/quiz-creation-2.png";
|
||||||
import cardImage1 from "../../assets/card-1.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 cardImage3 from "../../assets/card-3.png";
|
||||||
import StartPageSettings from "../../pages/startPage/StartPageSettings";
|
import StartPageSettings from "../../pages/startPage/StartPageSettings";
|
||||||
import CustomButton from "../CustomButton";
|
import CustomButton from "../CustomButton";
|
||||||
import SidebarCreateQuize from "../../ui_kit/sidebarCreateQuize";
|
import SidebarCreateQuize from "@ui_kit/sidebarCreateQuize";
|
||||||
|
|
||||||
|
|
||||||
const createQuizMenuItems = [
|
const createQuizMenuItems = [
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import NavbarCollapsed from "./NavbarCollapsed";
|
import NavbarCollapsed from "./NavbarCollapsed";
|
||||||
import NavbarCreateQuiz from "./NavbarCreateQuiz";
|
import NavbarCreateQuiz from "./NavbarCreateQuiz";
|
||||||
import Header from "../../ui_kit/Header";
|
import Header from "@ui_kit/Header";
|
||||||
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import Header from '../ui_kit/Header';
|
import Header from '@ui_kit/Header';
|
||||||
import Sidebar from '../ui_kit/sidebarCreateQuize';
|
import Sidebar from '@ui_kit/sidebarCreateQuize';
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import {Outlet} from "react-router-dom";
|
import {Outlet} from "react-router-dom";
|
||||||
import {useTheme} from "@mui/material";
|
import {useTheme} from "@mui/material";
|
||||||
|
@ -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 Stepper from '@ui_kit/Stepper';
|
||||||
import StartPageSettings from "./StartPageSettings";
|
import SwitchStepPages from "./switchStepPages";
|
||||||
import StepOne from "./stepOne";
|
import React from "react";
|
||||||
// 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() {
|
export default function StartPage() {
|
||||||
|
|
||||||
|
const [activeStep, setActiveStep] = React.useState(1);
|
||||||
|
|
||||||
|
const handleNext = () => {
|
||||||
|
setActiveStep((prevActiveStep) => prevActiveStep + 1);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleBack = () => {
|
||||||
|
setActiveStep((prevActiveStep) => prevActiveStep - 1);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{/*Степпер*/}
|
<Stepper activeStep={activeStep}/>
|
||||||
<Stepper />
|
<SwitchStepPages activeStep={activeStep} handleNext={handleNext}/>
|
||||||
{/*первый шаг*/}
|
|
||||||
<StepOne/>
|
|
||||||
{/*второй шаг*/}
|
|
||||||
<Box sx={{
|
|
||||||
mt: "60px",
|
|
||||||
}}>
|
|
||||||
<Typography variant="h5">Стартовая страница</Typography>
|
|
||||||
|
|
||||||
<Box sx={{
|
|
||||||
display: "flex",
|
|
||||||
gap: "3.4%",
|
|
||||||
mt: "40px",
|
|
||||||
}}>
|
|
||||||
<Button variant='text'>
|
|
||||||
<CardWithImage image={cardImage1} text="Standart" />
|
|
||||||
</Button>
|
|
||||||
<Button variant='text'>
|
|
||||||
<CardWithImage image={cardImage2} text="Expanded" />
|
|
||||||
</Button>
|
|
||||||
<Button variant='text'>
|
|
||||||
<CardWithImage image={cardImage3} text="Centered" />
|
|
||||||
</Button>
|
|
||||||
</Box>
|
|
||||||
</Box>
|
|
||||||
{/*третий шаг*/}
|
|
||||||
<StartPageSettings/>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -2,8 +2,12 @@ import {Box, Button, Typography, useTheme} from "@mui/material";
|
|||||||
import CreationCard from "@ui_kit/CreationCard";
|
import CreationCard from "@ui_kit/CreationCard";
|
||||||
import quizCreationImage1 from "../../assets/quiz-creation-1.png";
|
import quizCreationImage1 from "../../assets/quiz-creation-1.png";
|
||||||
import quizCreationImage2 from "../../assets/quiz-creation-2.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();
|
const theme = useTheme();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -12,14 +16,18 @@ export default function StepOne() {
|
|||||||
gap: "3.4%",
|
gap: "3.4%",
|
||||||
mt: "60px",
|
mt: "60px",
|
||||||
}}>
|
}}>
|
||||||
<Button variant='text'>
|
<Button variant='text'
|
||||||
|
onClick={() => handleNext()}
|
||||||
|
>
|
||||||
<CreationCard
|
<CreationCard
|
||||||
header="Создание квиз-опроса"
|
header="Создание квиз-опроса"
|
||||||
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас"
|
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас"
|
||||||
image={quizCreationImage1}
|
image={quizCreationImage1}
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant='text'>
|
<Button variant='text'
|
||||||
|
onClick={() => handleNext()}
|
||||||
|
>
|
||||||
<CreationCard
|
<CreationCard
|
||||||
header="Создание анкеты"
|
header="Создание анкеты"
|
||||||
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас"
|
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас"
|
||||||
|
@ -1,7 +1,41 @@
|
|||||||
import {Box} from "@mui/material";
|
import {Box, Button, 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";
|
||||||
|
|
||||||
export default function Steptwo () {
|
interface HandleNext {
|
||||||
|
handleNext: () => void
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Steptwo ({handleNext}:HandleNext) {
|
||||||
return (
|
return (
|
||||||
<Box></Box>
|
<Box sx={{
|
||||||
|
mt: "60px",
|
||||||
|
}}>
|
||||||
|
<Typography variant="h5">Стартовая страница</Typography>
|
||||||
|
|
||||||
|
<Box sx={{
|
||||||
|
display: "flex",
|
||||||
|
gap: "3.4%",
|
||||||
|
mt: "40px",
|
||||||
|
}}>
|
||||||
|
<Button variant='text'
|
||||||
|
onClick={() => handleNext()}
|
||||||
|
>
|
||||||
|
<CardWithImage image={cardImage1} text="Standart" />
|
||||||
|
</Button>
|
||||||
|
<Button variant='text'
|
||||||
|
onClick={() => handleNext()}
|
||||||
|
>
|
||||||
|
<CardWithImage image={cardImage2} text="Expanded" />
|
||||||
|
</Button>
|
||||||
|
<Button variant='text'
|
||||||
|
onClick={() => handleNext()}
|
||||||
|
>
|
||||||
|
<CardWithImage image={cardImage3} text="Centered" />
|
||||||
|
</Button>
|
||||||
|
</Box>
|
||||||
|
</Box>
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,18 +3,24 @@ import StepOne from "./stepOne";
|
|||||||
import Steptwo from "./steptwo";
|
import Steptwo from "./steptwo";
|
||||||
import StartPageSettings from "./StartPageSettings";
|
import StartPageSettings from "./StartPageSettings";
|
||||||
|
|
||||||
const step = '1';
|
interface Props {
|
||||||
export default function SwitchStepPages(step: any) {
|
activeStep: number,
|
||||||
|
handleNext: () => void
|
||||||
|
}
|
||||||
|
|
||||||
switch (step) {
|
export default function SwitchStepPages({activeStep = 1, handleNext }: Props) {
|
||||||
case '1':
|
|
||||||
return (<StepOne/>);
|
switch (activeStep) {
|
||||||
|
case 1:
|
||||||
|
return (<StepOne handleNext={handleNext}/>);
|
||||||
break;
|
break;
|
||||||
case '2':
|
case 2:
|
||||||
return (<Steptwo/>);
|
return (<Steptwo handleNext={handleNext}/>);
|
||||||
break
|
break
|
||||||
case '3':
|
case 3:
|
||||||
return (<StartPageSettings/>);
|
return (<StartPageSettings/>);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return (<></>)
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,4 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { useTheme } from '@mui/material/styles';
|
|
||||||
import MobileStepper from '@mui/material/MobileStepper';
|
import MobileStepper from '@mui/material/MobileStepper';
|
||||||
import {Box, Typography} from "@mui/material";
|
import {Box, Typography} from "@mui/material";
|
||||||
interface Props {
|
interface Props {
|
||||||
@ -8,7 +7,7 @@ interface Props {
|
|||||||
steps?: number;
|
steps?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function ProgressMobileStepper({desc = '', activeStep = 1, steps = 6}:Props) {
|
export default function ProgressMobileStepper({desc = 'Настройка стартовой страницы', activeStep = 1, steps = 6}:Props) {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
@ -20,7 +19,7 @@ export default function ProgressMobileStepper({desc = '', activeStep = 1, steps
|
|||||||
height: '51px',
|
height: '51px',
|
||||||
borderRadius: '13px',
|
borderRadius: '13px',
|
||||||
border: 'solid #7E2AEA 1px',
|
border: 'solid #7E2AEA 1px',
|
||||||
padding: '0 0 20px 20px',
|
padding: '0 0 20px 0',
|
||||||
overflow: 'hidden'
|
overflow: 'hidden'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@ -32,6 +31,7 @@ export default function ProgressMobileStepper({desc = '', activeStep = 1, steps
|
|||||||
sx={{
|
sx={{
|
||||||
width: '100%',
|
width: '100%',
|
||||||
flexGrow: 1,
|
flexGrow: 1,
|
||||||
|
paddingLeft: 0,
|
||||||
'& .css-1ej0n1q-MuiLinearProgress-root-MuiMobileStepper-progress': {
|
'& .css-1ej0n1q-MuiLinearProgress-root-MuiMobileStepper-progress': {
|
||||||
height: '10px',
|
height: '10px',
|
||||||
background: '#ffffff',
|
background: '#ffffff',
|
||||||
@ -44,201 +44,12 @@ export default function ProgressMobileStepper({desc = '', activeStep = 1, steps
|
|||||||
nextButton={<></>}
|
nextButton={<></>}
|
||||||
backButton={<></>}
|
backButton={<></>}
|
||||||
/>
|
/>
|
||||||
<Typography> Шаг {activeStep} из 6</Typography>
|
<Box sx={{padding: '3px 3px 3px 20px'}}>
|
||||||
<Typography>Настройка стартовой страницы</Typography>
|
<Typography sx={{fontWeight:400,
|
||||||
|
fontSize: '12px',
|
||||||
|
lineHeight: '14.22px'}}> Шаг {activeStep} из {steps}</Typography>
|
||||||
|
{desc.length == 0 ? <></> : <Typography>{desc}</Typography>}
|
||||||
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 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<number>());
|
|
||||||
// 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 = <StepOne/>
|
|
||||||
// break;
|
|
||||||
// // case 2:
|
|
||||||
// // component = <StartPage/>
|
|
||||||
// // break;
|
|
||||||
// default:
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// return (<>
|
|
||||||
// <Container maxWidth={false}
|
|
||||||
// disableGutters
|
|
||||||
// sx={{
|
|
||||||
// display:'flex',
|
|
||||||
// minHeight: "calc(100vh - 80px)",
|
|
||||||
// }}>
|
|
||||||
// {/*<SidebarCreateQuize/>*/}
|
|
||||||
// <Container
|
|
||||||
// maxWidth="lg"
|
|
||||||
// disableGutters
|
|
||||||
// sx={{
|
|
||||||
// p: "25px",
|
|
||||||
// [theme.breakpoints.up("lg")]: {
|
|
||||||
// maxWidth: "1210px",
|
|
||||||
// }
|
|
||||||
// }}
|
|
||||||
// >
|
|
||||||
// {component}
|
|
||||||
// </Container>
|
|
||||||
// </Container>
|
|
||||||
// {activeStep === steps.length ? (
|
|
||||||
// <React.Fragment>
|
|
||||||
// <Typography sx={{ mt: 2, mb: 1 }}>
|
|
||||||
// All steps completed - you're finished
|
|
||||||
// </Typography>
|
|
||||||
// <Box sx={{ display: "flex", flexDirection: "row", pt: 2 }}>
|
|
||||||
// <Box sx={{ flex: "1 1 auto" }} />
|
|
||||||
// <Button onClick={handleReset}>Reset</Button>
|
|
||||||
// </Box>
|
|
||||||
// </React.Fragment>
|
|
||||||
// ) : (
|
|
||||||
//
|
|
||||||
// //Тут отображаемые компоненты
|
|
||||||
// <React.Fragment>
|
|
||||||
// <Box sx={{ display: "flex", flexDirection: "row", pt: 2 }}>
|
|
||||||
// <Button
|
|
||||||
// color="inherit"
|
|
||||||
// disabled={activeStep === 0}
|
|
||||||
// onClick={handleBack}
|
|
||||||
// sx={{ mr: 1 }}
|
|
||||||
// >
|
|
||||||
// Back
|
|
||||||
// </Button>
|
|
||||||
// <Box sx={{ flex: "1 1 auto" }} />
|
|
||||||
// {isStepOptional(activeStep) && (
|
|
||||||
// <Button color="inherit" onClick={handleSkip} sx={{ mr: 1 }}>
|
|
||||||
// Skip
|
|
||||||
// </Button>
|
|
||||||
// )}
|
|
||||||
// <Button onClick={handleNext}>
|
|
||||||
// {activeStep === steps.length - 1 ? "Finish" : "Next"}
|
|
||||||
// </Button>
|
|
||||||
// </Box>
|
|
||||||
// </React.Fragment>
|
|
||||||
// )}
|
|
||||||
//
|
|
||||||
// <Stepper activeStep={activeStep}>
|
|
||||||
// {steps.map((label, index) => {
|
|
||||||
// const stepProps: { completed?: boolean } = {};
|
|
||||||
// const labelProps: {
|
|
||||||
// optional?: React.ReactNode;
|
|
||||||
// } = {};
|
|
||||||
// if (isStepOptional(index)) {
|
|
||||||
// labelProps.optional = (
|
|
||||||
// <Typography variant="caption">Optional</Typography>
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// if (isStepSkipped(index)) {
|
|
||||||
// stepProps.completed = false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return (
|
|
||||||
// <Step key={label} {...stepProps}>
|
|
||||||
// <StepLabel {...labelProps}>{label}</StepLabel>
|
|
||||||
// </Step>
|
|
||||||
// );
|
|
||||||
// })}
|
|
||||||
// </Stepper>
|
|
||||||
// </>
|
|
||||||
// );
|
|
||||||
// }
|
|
Loading…
Reference in New Issue
Block a user