From 26fa3a5301824a05ed486d7c4d71dc92fa19ca8e Mon Sep 17 00:00:00 2001 From: lizerk Date: Mon, 24 Aug 2026 14:02:42 +0300 Subject: [PATCH] Fix board priority sorting and attachment preview controls --- .../components/tasks/TaskBoardNavigator.tsx | 23 ++++++++----------- .../tasks/TaskCommentAttachment.tsx | 12 ++++++++-- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/frontend/src/components/tasks/TaskBoardNavigator.tsx b/frontend/src/components/tasks/TaskBoardNavigator.tsx index 3cac9c8c..9ce7d7f1 100644 --- a/frontend/src/components/tasks/TaskBoardNavigator.tsx +++ b/frontend/src/components/tasks/TaskBoardNavigator.tsx @@ -97,13 +97,6 @@ function boardGroupPosition( return board.group_positions?.[String(groupId)]; } -function boardGroupSortKey( - board: TaskBoardSummary, - groupId: number, -): string | undefined { - return board.group_sort_keys?.[String(groupId)]; -} - function compareBoardNames(first: TaskBoardSummary, second: TaskBoardSummary): number { return first.name.localeCompare(second.name, "ru") || first.id - second.id; } @@ -519,14 +512,18 @@ export default function TaskBoardNavigator({ (effectiveBoardSort === "priority" || effectiveBoardSort === "priority-desc") && typeof effectiveGroupFilter === "number" ) { - const firstRank = boardGroupSortKey(first, effectiveGroupFilter); - const secondRank = boardGroupSortKey(second, effectiveGroupFilter); - if (firstRank && secondRank && firstRank !== secondRank) { + const firstPosition = boardGroupPosition(first, effectiveGroupFilter); + const secondPosition = boardGroupPosition(second, effectiveGroupFilter); + if ( + firstPosition !== undefined + && secondPosition !== undefined + && firstPosition !== secondPosition + ) { const direction = effectiveBoardSort === "priority-desc" ? -1 : 1; - return (firstRank < secondRank ? -1 : 1) * direction; + return (firstPosition - secondPosition) * direction; } - if (firstRank && !secondRank) return -1; - if (!firstRank && secondRank) return 1; + if (firstPosition !== undefined && secondPosition === undefined) return -1; + if (firstPosition === undefined && secondPosition !== undefined) return 1; } if (effectiveBoardSort === "name-desc") { diff --git a/frontend/src/components/tasks/TaskCommentAttachment.tsx b/frontend/src/components/tasks/TaskCommentAttachment.tsx index e6f17fbd..76d6cdb2 100644 --- a/frontend/src/components/tasks/TaskCommentAttachment.tsx +++ b/frontend/src/components/tasks/TaskCommentAttachment.tsx @@ -98,7 +98,7 @@ export default function TaskCommentAttachment({