From c18889a127d1965845ac3edc36fede3bef97ff3f Mon Sep 17 00:00:00 2001 From: chamikaJ Date: Thu, 22 May 2025 09:39:53 +0530 Subject: [PATCH] refactor(task-drawer): remove unused imports and add edit mode for task name Removed unused `useEffect` import in `task-drawer-status-dropdown.tsx` and unused `connected` variable. Added edit mode for task name in `task-drawer-header.tsx` to improve user interaction by allowing inline editing of the task name. --- .../task-drawer-header/task-drawer-header.tsx | 50 +++++++++++++------ .../task-drawer-status-dropdown.tsx | 4 +- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/worklenz-frontend/src/components/task-drawer/task-drawer-header/task-drawer-header.tsx b/worklenz-frontend/src/components/task-drawer/task-drawer-header/task-drawer-header.tsx index 6a20f0b9..0bc322f3 100644 --- a/worklenz-frontend/src/components/task-drawer/task-drawer-header/task-drawer-header.tsx +++ b/worklenz-frontend/src/components/task-drawer/task-drawer-header/task-drawer-header.tsx @@ -27,6 +27,7 @@ const TaskDrawerHeader = ({ inputRef, t }: TaskDrawerHeaderProps) => { const { socket, connected } = useSocket(); const { clearTaskFromUrl } = useTaskDrawerUrlSync(); const isDeleting = useRef(false); + const [isEditing, setIsEditing] = useState(false); const { taskFormViewModel, selectedTaskId } = useAppSelector(state => state.taskDrawerReducer); const [taskName, setTaskName] = useState(taskFormViewModel?.task?.name ?? ''); @@ -88,6 +89,7 @@ const TaskDrawerHeader = ({ inputRef, t }: TaskDrawerHeaderProps) => { }; const handleInputBlur = () => { + setIsEditing(false); if ( !selectedTaskId || !connected || @@ -113,21 +115,39 @@ const TaskDrawerHeader = ({ inputRef, t }: TaskDrawerHeaderProps) => { return ( - onTaskNameChange(e)} - onBlur={handleInputBlur} - placeholder={t('taskHeader.taskNamePlaceholder')} - className="task-name-input" - style={{ - width: '100%', - border: 'none', - }} - showCount={false} - maxLength={250} - /> + {isEditing ? ( + onTaskNameChange(e)} + onBlur={handleInputBlur} + placeholder={t('taskHeader.taskNamePlaceholder')} + className="task-name-input" + style={{ + width: '100%', + border: 'none', + }} + showCount={true} + maxLength={250} + autoFocus + /> + ) : ( +

setIsEditing(true)} + style={{ + margin: 0, + padding: '4px 11px', + fontSize: '16px', + cursor: 'pointer', + wordWrap: 'break-word', + overflowWrap: 'break-word', + width: '100%' + }} + > + {taskName || t('taskHeader.taskNamePlaceholder')} +

+ )}
{ - const { socket, connected } = useSocket(); + const { socket } = useSocket(); const dispatch = useAppDispatch(); const themeMode = useAppSelector(state => state.themeReducer.mode); const { tab } = useTabSearchParam();