import { Breadcrumbs, Link, Typography } from '@mui/material'; import { Link as RouterLink } from 'react-router-dom'; import { FORM_TYPE_TRANSLATE } from '../../constants/constants'; import { getListReturnUrl } from '../../utils/listNavigation'; export const getTaskLabel = (task) => [ FORM_TYPE_TRANSLATE[task?.form_type_code] || task?.form_type_code, task?.year, task?.org_unit?.title ? `${task.org_unit.title}` : null, ].filter(Boolean).join(' · '); const TaskBreadcrumbs = ({ task, taskId, sheetName, isProject = false, year }) => { const projectYears = [...new Set(task?.years || task?.reports?.map((report) => report.year) || [])] .filter(Boolean).sort((a, b) => Number(a) - Number(b)).join(', '); const projectLabel = [task?.name || `Проект №${taskId}`, task?.org_unit_name || task?.org_unit?.title, !sheetName && projectYears] .filter(Boolean).join(' · '); const taskLabel = isProject ? projectLabel : getTaskLabel(task) || `Задача №${taskId}`; const currentSheetLabel = isProject && /^\d{4}$/.test(String(year)) ? `${sheetName} · ${year}` : sheetName; return ( {isProject ? 'Проекты' : 'Задачи'} {sheetName ? ( {taskLabel} ) : ( {taskLabel} )} {sheetName && {currentSheetLabel}} ); }; export default TaskBreadcrumbs;