обработка ошибок

This commit is contained in:
gorbenko.pavel
2026-08-07 14:27:58 +05:00
parent 03391d7669
commit 6dcea0fe02
7 changed files with 173 additions and 12 deletions
@@ -64,6 +64,14 @@ export const ManageRequestsPhaseTable: React.FC<IManageRequestsPhaseTableProps>
onAddApprover,
onReorder
}) => {
// Подсветка строки при наведении — на уровне БЛОКА, а не через CSS
// tbody tr:hover (см. .rowHover в ManageRequestsScreen.module.scss): ячейки
// с rowSpan (номер шага, стрелки перестановки) физически принадлежат <tr>
// только первой строки блока, поэтому обычный :hover при наведении на
// вторую/третью строку параллельного блока их не подсвечивал — получался
// "вырез" в жёлтом фоне ровно на границе объединённой ячейки.
const [hoveredBlock, setHoveredBlock] = React.useState<number | undefined>(undefined);
const withParallel = React.useMemo(() => markParallel(rows) as Row[], [rows]);
const blocks = React.useMemo(() => blockRanges(withParallel), [withParallel]);
const lockedBlock = React.useMemo(
@@ -131,7 +139,7 @@ export const ManageRequestsPhaseTable: React.FC<IManageRequestsPhaseTableProps>
{rows.length === 0 && <div className={tableStyles.wrap}><div className={tableStyles.empty}>{texts.manageRequests.emptyPhase}</div></div>}
{rows.length > 0 && (
<div className={tableStyles.wrap}>
<div className={`${tableStyles.wrap} ${styles.blockAwareWrap}`}>
<div className={tableStyles.scroll}>
<table className={tableStyles.table}>
<thead>
@@ -161,7 +169,12 @@ export const ManageRequestsPhaseTable: React.FC<IManageRequestsPhaseTableProps>
const isGhost = r.id < 0;
return (
<tr key={r.id}>
<tr
key={r.id}
className={blockIndex === hoveredBlock ? styles.rowHover : undefined}
onMouseEnter={() => setHoveredBlock(blockIndex)}
onMouseLeave={() => setHoveredBlock(undefined)}
>
{isBlockStart && (
<td className={styles.stepCol} rowSpan={block.end - block.start + 1}>
{r.parallelWithPrev || block.end > block.start ? (