fix: sandart layout background

This commit is contained in:
IlyaDoronin 2024-03-06 18:45:45 +03:00
parent 211754fd9d
commit eb6c0fbd26
4 changed files with 92 additions and 62 deletions

@ -1,8 +1,11 @@
import { Box } from "@mui/material"; import { Box } from "@mui/material";
import { useRootContainerSize } from "@contexts/RootContainerWidthContext"; import { useRootContainerSize } from "@contexts/RootContainerWidthContext";
import { useQuizData } from "@contexts/QuizDataContext";
import { notReachable } from "@utils/notReachable"; import { notReachable } from "@utils/notReachable";
import { quizThemes } from "@utils/themes/Publication/themePublication";
import { DESIGN_LIST } from "@/components/ViewPublicationPage/Question";
import type { import type {
QuizStartpageAlignType, QuizStartpageAlignType,
@ -24,35 +27,46 @@ const StandartLayout = ({
quizHeaderBlock, quizHeaderBlock,
quizMainBlock, quizMainBlock,
backgroundBlock, backgroundBlock,
}: LayoutProps) => ( }: LayoutProps) => {
<Box const { settings } = useQuizData();
id="pain"
sx={{ return (
display: "flex",
flexDirection: alignType === "left" ? "row" : "row-reverse",
flexGrow: 1,
minHeight: "100vh",
"&::-webkit-scrollbar": { width: 0 },
overflow: "auto",
}}
>
<Box <Box
id="pain"
sx={{ sx={{
width: "40%",
display: "flex", display: "flex",
flexDirection: "column", flexDirection: alignType === "left" ? "row" : "row-reverse",
justifyContent: "space-between", minHeight: "100vh",
alignItems: "flex-start", backgroundPosition: "center",
p: "25px", backgroundSize: "cover",
backgroundImage: settings.cfg.design
? `url(${DESIGN_LIST[settings.cfg.theme]})`
: null,
}} }}
> >
{quizHeaderBlock} <Box
{quizMainBlock} sx={{
width: "40%",
display: "flex",
flexDirection: "column",
justifyContent: "space-between",
alignItems: "flex-start",
p: "25px",
background:
settings.cfg.design && !quizThemes[settings.cfg.theme].isLight
? "linear-gradient(90deg,#272626,transparent)"
: null,
}}
>
{quizHeaderBlock}
{quizMainBlock}
</Box>
{settings.cfg.startpage.background.desktop && (
<Box sx={{ width: "60%", overflow: "hidden" }}>{backgroundBlock}</Box>
)}
</Box> </Box>
);
<Box sx={{ width: "60%", overflow: "hidden" }}>{backgroundBlock}</Box> };
</Box>
);
const ExpandedLayout = ({ const ExpandedLayout = ({
alignType, alignType,

@ -1,6 +1,10 @@
import { Box } from "@mui/material"; import { Box } from "@mui/material";
import { useQuizData } from "@contexts/QuizDataContext";
import { notReachable } from "@utils/notReachable"; import { notReachable } from "@utils/notReachable";
import { quizThemes } from "@utils/themes/Publication/themePublication";
import { DESIGN_LIST } from "@/components/ViewPublicationPage/Question";
import type { QuizStartpageType } from "@model/settingsData"; import type { QuizStartpageType } from "@model/settingsData";
@ -17,62 +21,70 @@ const StandartMobileLayout = ({
quizHeaderBlock, quizHeaderBlock,
quizMainBlock, quizMainBlock,
backgroundBlock, backgroundBlock,
}: MobileLayoutProps) => ( }: MobileLayoutProps) => {
<Box const { settings } = useQuizData();
sx={{
display: "flex", return (
flexDirection: "column-reverse",
flexGrow: 1,
justifyContent: "flex-end",
minHeight: "100vh",
height: "100%",
"&::-webkit-scrollbar": { width: 0 },
}}
>
<Box <Box
sx={{ sx={{
width: "100%",
display: "flex", display: "flex",
flexDirection: "column-reverse",
flexGrow: 1, flexGrow: 1,
flexDirection: "column", justifyContent: "flex-end",
justifyContent: "space-between", minHeight: "100vh",
alignItems: "flex-start",
p: "25px",
height: "100%", height: "100%",
overflowY: "auto", "&::-webkit-scrollbar": { width: 0 },
overflowX: "hidden", backgroundPosition: "center",
"&::-webkit-scrollbar": { backgroundSize: "cover",
width: "4px", backgroundImage: settings.cfg.design
}, ? `url(${DESIGN_LIST[settings.cfg.theme]})`
"&::-webkit-scrollbar-thumb": { : null,
backgroundColor: "#b8babf",
},
}} }}
> >
{quizHeaderBlock}
<Box <Box
sx={{ sx={{
height: "80%", width: "100%",
display: "flex", display: "flex",
flexGrow: 1, flexGrow: 1,
flexDirection: "column", flexDirection: "column",
justifyContent: "space-between", justifyContent: "space-between",
width: "100%", alignItems: "flex-start",
p: "25px",
height: "100%",
overflowY: "auto",
overflowX: "hidden",
background:
settings.cfg.design && !quizThemes[settings.cfg.theme].isLight
? "linear-gradient(90deg,#272626,transparent)"
: null,
"&::-webkit-scrollbar": {
width: "4px",
},
"&::-webkit-scrollbar-thumb": {
backgroundColor: "#b8babf",
},
}} }}
> >
{quizMainBlock} {quizHeaderBlock}
<Box
sx={{
height: "80%",
display: "flex",
flexGrow: 1,
flexDirection: "column",
justifyContent: "space-between",
width: "100%",
}}
>
{quizMainBlock}
</Box>
</Box> </Box>
{settings.cfg.startpage.background.desktop && (
<Box sx={{ width: "100%", overflow: "hidden" }}>{backgroundBlock}</Box>
)}
</Box> </Box>
<Box );
sx={{ };
width: "100%",
overflow: "hidden",
}}
>
{backgroundBlock}
</Box>
</Box>
);
const ExpandedMobileLayout = ({ const ExpandedMobileLayout = ({
quizHeaderBlock, quizHeaderBlock,

@ -20,6 +20,9 @@
"strict": true, "strict": true,
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
"paths": { "paths": {
"@/*": [
"./lib/*"
],
"@ui_kit/*": [ "@ui_kit/*": [
"./lib/ui_kit/*" "./lib/ui_kit/*"
], ],

@ -3,6 +3,7 @@ import { resolve } from "path";
import { defineConfig } from "vite"; import { defineConfig } from "vite";
export const alias = { export const alias = {
"@": resolve(__dirname, "./lib/"),
"@ui_kit": resolve(__dirname, "./lib/ui_kit"), "@ui_kit": resolve(__dirname, "./lib/ui_kit"),
"@icons": resolve(__dirname, "./lib/assets/icons"), "@icons": resolve(__dirname, "./lib/assets/icons"),
"@stores": resolve(__dirname, "./lib/stores"), "@stores": resolve(__dirname, "./lib/stores"),