diff --git a/admin-client/src/components/breadcrumb.js b/admin-client/src/components/breadcrumb.js new file mode 100644 index 0000000..3c6264c --- /dev/null +++ b/admin-client/src/components/breadcrumb.js @@ -0,0 +1,23 @@ +import {useMatches} from "react-router-dom"; +import "./breadcrumb.scss"; + +export function Breadcrumb() { + let matches = useMatches(); + let crumbs = matches + // first get rid of any matches that don't have handle and crumb + .filter((match) => Boolean(match.handle?.crumb)) + // now map them into an array of elements, passing the loader + // data to each one + .map((match) => match.handle.crumb(match)); + + return <> +
+ >; +} \ No newline at end of file diff --git a/admin-client/src/components/breadcrumb.scss b/admin-client/src/components/breadcrumb.scss new file mode 100644 index 0000000..ceced2b --- /dev/null +++ b/admin-client/src/components/breadcrumb.scss @@ -0,0 +1,16 @@ +@import "../variables"; + +#breadcrumb { + display: flex; + align-items: center; + justify-content: flex-start; + + a { + color: $accentColor; + } + + span.crumb { + display: inline-block; + margin: 0 5px; + } +} \ No newline at end of file diff --git a/admin-client/src/components/header.js b/admin-client/src/components/header.js index 017cbf5..d175d50 100644 --- a/admin-client/src/components/header.js +++ b/admin-client/src/components/header.js @@ -2,16 +2,15 @@ import {useOutsideAlerter} from "../hooks/outside-click-alerter"; import * as React from "react"; import {useNavigate} from "react-router-dom"; import {useRef, useState} from "react"; -import {Edit, Person} from '@mui/icons-material'; +import {Person} from '@mui/icons-material'; import {Logo} from "./logo"; import {Button, IconButton} from "@mui/material"; import "./header.scss"; import {useAuth} from "../services/authentication/use-auth"; -import {useInstances} from "../services/instances/use-instances"; +import {Breadcrumb} from "./breadcrumb"; export default function Header() { - const {selectedInstance} = useInstances(); const navigate = useNavigate(); const {userData, userManager} = useAuth(); const [showUserDropout, setShowUserDropout] = useState(false); @@ -32,9 +31,6 @@ export default function Header() { return