From 7ff4074105889737ded36da21ab5e0944fa95b3b Mon Sep 17 00:00:00 2001 From: lizerk Date: Mon, 13 Apr 2026 23:33:45 +0300 Subject: [PATCH] refactor(frontend): embed department edit actions in chips --- frontend/src/app/departments/[id]/page.tsx | 221 ++++++++++++--------- 1 file changed, 128 insertions(+), 93 deletions(-) diff --git a/frontend/src/app/departments/[id]/page.tsx b/frontend/src/app/departments/[id]/page.tsx index 5008b0ad..24f03f8b 100644 --- a/frontend/src/app/departments/[id]/page.tsx +++ b/frontend/src/app/departments/[id]/page.tsx @@ -120,6 +120,11 @@ function DepartmentMemberRow({ {roleLabel} ) : null} + {isHead ? ( + + + + ) : null} ); @@ -132,127 +137,157 @@ function DepartmentMemberRow({ ) : ( {personBubble} )} - {isHead ? ( - - - Руководитель - - ) : null} + ); } return (
- - - {canAssignRoles ? ( -
- + + + {personName} + + {subtitle ? ( + {subtitle} + ) : null} + + + ) : ( + + + + + {personName} + + {subtitle ? ( + {subtitle} + ) : null} + + + )} - {isRoleMenuOpen ? ( -
-
- Роль участника -
-
- {roleOptions.map((role) => { - const isSelected = member.role?.id === role.id; - return ( + {canAssignRoles ? ( +
+ + + {isRoleMenuOpen ? ( +
+
+ Роль участника +
+
+ {roleOptions.map((role) => { + const isSelected = member.role?.id === role.id; + return ( + + ); + })} + + {member.role ? ( - ); - })} + ) : null} - {member.role ? ( - ) : null} - - +
-
- ) : null} -
- ) : member.role ? ( - - {roleLabel} - - ) : null} + ) : null} +
+ ) : member.role ? ( + + {roleLabel} + + ) : null} - {isHead ? ( - - - Руководитель - - ) : null} + {isHead ? ( + + + + ) : null} - {canChangeHead && !isHead ? ( - - ) : null} + {canChangeHead && !isHead ? ( + + ) : null} - {canManage && !isHead ? ( - - ) : null} + {canManage && !isHead ? ( + + ) : null} +
); }