import { View, Text } from "@aws-amplify/ui-react"; import { Breadcrumb, BreadcrumbItem } from "./Breadcrumb"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import styles from "./BreadcrumbLayout.module.scss"; export function BreadcrumbLayout({ breadcrumbCallback, }: { breadcrumbCallback: (pathnameArray: string[], asPathArray: string[]) => any; }) { const router = useRouter(); const [breadcrumbs, setBreadcrumbs] = useState([]); useEffect(() => { const pathnameArray = router.pathname.split("/"); pathnameArray.shift(); const asPathArray = router.asPath.split("/"); asPathArray.shift(); const result = breadcrumbCallback(pathnameArray, asPathArray); setBreadcrumbs(result); }, [router.pathname, router.asPath, breadcrumbCallback]); if (breadcrumbs?.length > 0) { return ( {breadcrumbs.map((e) => { if (e.label && e.href) { if (e.isCurrent) { return ( {e.label} ); } else { return ( {e.label} ); } } })} ); } else { return <>; } }