diff --git a/libs/react/components/src/app-buttons/app-buttons.tsx b/libs/react/components/src/app-buttons/app-buttons.tsx index 4406a0ed6..632cb7720 100644 --- a/libs/react/components/src/app-buttons/app-buttons.tsx +++ b/libs/react/components/src/app-buttons/app-buttons.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import { useRouter } from "next/router"; import { default as ChevronLeftIcon } from "@mui/icons-material/ChevronLeft"; import { default as DarkModeIcon } from "@mui/icons-material/DarkMode"; import { default as GithubIcon } from "@mui/icons-material/GitHub"; @@ -72,15 +71,8 @@ export const ThemeButton: FunctionComponent = (props) => { }; export const BackButton: FunctionComponent = (props) => { - const { back } = useRouter(); - - const onClick: IconButtonProps["onClick"] = (e) => { - props.onClick?.(e); - back(); - }; - return ( - + ); diff --git a/libs/react/containers/src/layouts/layout-module/layout-module.tsx b/libs/react/containers/src/layouts/layout-module/layout-module.tsx index 951c27118..4b2e075cf 100644 --- a/libs/react/containers/src/layouts/layout-module/layout-module.tsx +++ b/libs/react/containers/src/layouts/layout-module/layout-module.tsx @@ -1,4 +1,5 @@ import { useRouter } from "next/router"; +import { NoSsr } from "@mui/base"; import { default as HomeIcon } from "@mui/icons-material/ConnectingAirportsOutlined"; import { default as TestIcon } from "@mui/icons-material/FlightTakeoffOutlined"; import { default as LearningObjectivesIcon } from "@mui/icons-material/ListOutlined"; @@ -13,16 +14,17 @@ import { Stack, Typography, listItemContentClasses, + useTheme, } from "@mui/joy"; import { AppLogo, - BackButton, GithubButton, HamburgerButton, Sidebar, SidebarListItem, ThemeButton, ThemeOverrideColorScheme, + useMediaQuery, useSidebar, } from "@chair-flight/react/components"; import { trpc } from "@chair-flight/trpc/client"; @@ -62,6 +64,8 @@ export const LayoutModule = container( const { openSidebar } = useSidebar(); const router = useRouter(); const config = LayoutModule.useData({ questionBank }); + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down("sm")); const isQuestions = router.asPath.includes("questions"); const isTests = router.asPath.includes("tests"); @@ -75,6 +79,10 @@ export const LayoutModule = container( !isFlashcards && !isLearningObjectives; + const secondToLastBreadcrumb = breadcrumbs?.at(-2); + const lastBreadcrumb = breadcrumbs?.at(-1); + + console.log(secondToLastBreadcrumb); return ( <> @@ -171,15 +179,21 @@ export const LayoutModule = container( right: 0, }} > - - {breadcrumbs?.slice(0, -1).map(([name, url]) => ( - - {name} - - ))} - {breadcrumbs && {breadcrumbs?.at(-1)}} - - + + + {isMobile && secondToLastBreadcrumb && ( + ••• + )} + {!isMobile && + breadcrumbs?.slice(0, -1).map(([name, url]) => ( + + {name} + + ))} + {lastBreadcrumb && {lastBreadcrumb}} + + + (