import {Box} from "@mui/material"; import {useRootContainerSize} from "@contexts/RootContainerWidthContext"; import {useQuizData} from "@contexts/QuizDataContext"; import {notReachable} from "@utils/notReachable"; import {quizThemes} from "@utils/themes/Publication/themePublication"; import type { QuizStartpageAlignType, QuizStartpageType, } from "@model/settingsData"; import {DESIGN_LIST} from "@/utils/designList"; type StartPageDesktopProps = { quizHeaderBlock: JSX.Element; quizMainBlock: JSX.Element; backgroundBlock: JSX.Element | null; startpageType: QuizStartpageType; alignType: QuizStartpageAlignType; }; type LayoutProps = Omit; const StandartLayout = ({ alignType, quizHeaderBlock, quizMainBlock, backgroundBlock, }: LayoutProps) => { const size = useRootContainerSize(); const isTablet = size >= 700 && size < 1100; const { settings } = useQuizData(); return ( {quizHeaderBlock} {quizMainBlock} {settings.cfg.startpage.background.desktop && ( img": { width: "100%", borderRadius: "12px" }, }} >{backgroundBlock} )} ); }; const ExpandedLayout = ({ alignType, quizHeaderBlock, quizMainBlock, backgroundBlock, }: LayoutProps) => { const size = useRootContainerSize(); const isTablet = size >= 700 && size < 1100; return ( <> {alignType !== "center" && quizHeaderBlock} {quizMainBlock} {backgroundBlock} ); } const CenteredLayout = ({ quizHeaderBlock, quizMainBlock, backgroundBlock, }: LayoutProps) => { const isTablet = useRootContainerSize() < 1100; const { settings } = useQuizData(); return ( {quizHeaderBlock} {backgroundBlock && settings.cfg.startpage.background.desktop && ( img": { width: "100%", borderRadius: "12px" }, }} > {backgroundBlock} )} {quizMainBlock} ); }; export const StartPageDesktop = ({ quizHeaderBlock, quizMainBlock, backgroundBlock, startpageType, alignType, }: StartPageDesktopProps) => { switch (startpageType) { case null: case "standard": { return ( ); } case "expanded": { return ( ); } case "centered": { return ( ); } default: notReachable(startpageType); } };