FPSMS-frontend
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 

59 satır
1.6 KiB

  1. "use client";
  2. import Breadcrumbs from "@mui/material/Breadcrumbs";
  3. import Typography from "@mui/material/Typography";
  4. import Link from "next/link";
  5. import MUILink from "@mui/material/Link";
  6. import { usePathname } from "next/navigation";
  7. const pathToLabelMap: { [path: string]: string } = {
  8. "": "Overview",
  9. "/projects": "Projects",
  10. "/projects/create": "Create Project",
  11. "/tasks": "Task Template",
  12. "/tasks/create": "Create Task Template",
  13. "/settings/qcItem": "Qc Item",
  14. "/settings/rss": "Demand Forecast Setting",
  15. "/scheduling/rough": "Demand Forecast",
  16. "/scheduling/rough/edit": "FG & Material Demand Forecast Detail",
  17. "/scheduling/detail": "Detail Scheduling",
  18. "/scheduling/detail/edit": "FG Production Schedule",
  19. "/inventory": "Inventory",
  20. };
  21. const Breadcrumb = () => {
  22. const pathname = usePathname();
  23. const segments = pathname.split("/");
  24. return (
  25. <Breadcrumbs>
  26. {segments.map((segment, index) => {
  27. const href = segments.slice(0, index + 1).join("/");
  28. const label = pathToLabelMap[href] || segment;
  29. if (index === segments.length - 1) {
  30. return (
  31. <Typography key={index} color="text.primary">
  32. {label}
  33. </Typography>
  34. );
  35. } else {
  36. return (
  37. <MUILink
  38. underline="hover"
  39. color="inherit"
  40. key={index}
  41. component={Link}
  42. href={href || "/"}
  43. >
  44. {label}
  45. </MUILink>
  46. );
  47. }
  48. })}
  49. </Breadcrumbs>
  50. );
  51. };
  52. export default Breadcrumb;