Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

74 řádky
2.1 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. import { useTranslation } from "react-i18next";
  8. const pathToLabelMap: { [path: string]: string } = {
  9. "": "Overview",
  10. "/home": "User Workspace",
  11. "/projects": "Projects",
  12. "/projects/create": "Create Project",
  13. "/projects/edit": "Edit Project",
  14. "/tasks": "Task Template",
  15. "/tasks/create": "Create Task Template",
  16. "/staffReimbursement": "Staff Reimbursement",
  17. "/settings/customer": "Client",
  18. "/settings/customer/create": "Create Client",
  19. "/settings/customer/edit": "Edit Client",
  20. "/settings/subsidiary": "Subsidiary",
  21. "/settings/subsidiary/create": "Create Subsidiary",
  22. "/settings/subsidiary/edit": "Edit Subsidiary",
  23. "/settings": "Settings",
  24. "/company": "Company",
  25. "/settings/department": "Department",
  26. "/settings/department/new": "Create Department",
  27. "/settings/position": "Position",
  28. "/settings/position/new": "Create Position",
  29. "/settings/salarys": "Salary",
  30. "/analytics/ProjectCashFlowReport": "Project Cash Flow Report",
  31. "/settings/holiday": "Holiday",
  32. };
  33. const Breadcrumb = () => {
  34. const pathname = usePathname();
  35. const segments = pathname.split("/");
  36. // const { t } = useTranslation("customer");
  37. return (
  38. <Breadcrumbs>
  39. {segments.map((segment, index) => {
  40. const href = segments.slice(0, index + 1).join("/");
  41. const label = pathToLabelMap[href] || segment;
  42. if (index === segments.length - 1) {
  43. return (
  44. <Typography key={index} color="text.primary">
  45. {label}
  46. {/* {t(label)} */}
  47. </Typography>
  48. );
  49. } else {
  50. return (
  51. <MUILink
  52. underline="hover"
  53. color="inherit"
  54. key={index}
  55. component={Link}
  56. href={href || "/"}
  57. >
  58. {label}
  59. </MUILink>
  60. );
  61. }
  62. })}
  63. </Breadcrumbs>
  64. );
  65. };
  66. export default Breadcrumb;