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); } };