diff --git a/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateSubtaskCard.tsx b/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateSubtaskCard.tsx index b8abd977..e15044b9 100644 --- a/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateSubtaskCard.tsx +++ b/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateSubtaskCard.tsx @@ -166,7 +166,7 @@ const EnhancedKanbanCreateSubtaskCard = ({ onKeyUp={e => e.stopPropagation()} onKeyPress={e => e.stopPropagation()} onBlur={handleInputBlur} - placeholder={t('kanbanBoard.addSubTaskPlaceholder')} + placeholder={t('newSubtaskNamePlaceholder')} className={`enhanced-kanban-create-subtask-input ${themeMode === 'dark' ? 'dark' : ''}`} disabled={creatingTask} autoFocus diff --git a/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateTaskCard.tsx b/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateTaskCard.tsx index 7c561c4b..f677c4bc 100644 --- a/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateTaskCard.tsx +++ b/worklenz-frontend/src/components/enhanced-kanban/EnhancedKanbanCreateTaskCard.tsx @@ -89,12 +89,7 @@ const EnhancedKanbanCreateTaskCard: React.FC // Real-time socket event handler const eventHandler = (task: IProjectTask) => { - dispatch( - addTaskToGroup({ - sectionId, - task: { ...task, id: task.id || nanoid(), name: task.name || newTaskName.trim() }, - }) - ); + // Only reset the form - the global handler will add the task to Redux socket?.off(SocketEvents.QUICK_TASK.toString(), eventHandler); resetForNextTask(); }; diff --git a/worklenz-frontend/src/components/project-task-filters/delete-status-drawer/delete-status-drawer.tsx b/worklenz-frontend/src/components/project-task-filters/delete-status-drawer/delete-status-drawer.tsx index d66439e5..0dd5015c 100644 --- a/worklenz-frontend/src/components/project-task-filters/delete-status-drawer/delete-status-drawer.tsx +++ b/worklenz-frontend/src/components/project-task-filters/delete-status-drawer/delete-status-drawer.tsx @@ -12,7 +12,10 @@ import { deleteStatusToggleDrawer } from '@/features/projects/status/DeleteStatu import { Drawer, Alert, Card, Select, Button, Typography, Badge } from 'antd'; import { DownOutlined } from '@ant-design/icons'; import { useSelector } from 'react-redux'; -import { deleteSection, IGroupBy } from '@features/board/board-slice'; +import { + deleteSection, + IGroupBy, +} from '@features/enhanced-kanban/enhanced-kanban.slice'; import { statusApiService } from '@/api/taskAttributes/status/status.api.service'; import { phasesApiService } from '@/api/taskAttributes/phases/phases.api.service'; import logger from '@/utils/errorLogger'; @@ -28,7 +31,7 @@ const DeleteStatusDrawer: React.FC = () => { const { projectView } = useTabSearchParam(); const [form] = Form.useForm(); const { t } = useTranslation('task-list-filters'); - const { editableSectionId, groupBy } = useAppSelector(state => state.boardReducer); + const { editableSectionId, groupBy } = useAppSelector(state => state.enhancedKanbanReducer); const isDelteStatusDrawerOpen = useAppSelector( state => state.deleteStatusReducer.isDeleteStatusDrawerOpen ); diff --git a/worklenz-frontend/src/features/enhanced-kanban/enhanced-kanban.slice.ts b/worklenz-frontend/src/features/enhanced-kanban/enhanced-kanban.slice.ts index b17df3f8..8b4e1419 100644 --- a/worklenz-frontend/src/features/enhanced-kanban/enhanced-kanban.slice.ts +++ b/worklenz-frontend/src/features/enhanced-kanban/enhanced-kanban.slice.ts @@ -101,6 +101,7 @@ interface EnhancedKanbanState { selectedTaskIds: string[]; expandedSubtasks: Record; columnOrder: string[]; + editableSectionId: string | null; } const initialState: EnhancedKanbanState = { @@ -141,6 +142,7 @@ const initialState: EnhancedKanbanState = { selectedTaskIds: [], expandedSubtasks: {}, columnOrder: [], + editableSectionId: null, }; // Performance monitoring utility @@ -893,6 +895,19 @@ const enhancedKanbanSlice = createSlice({ state.groupCache[result.groupId] = result.group; } }, + + setEditableSection: (state, action: PayloadAction) => { + state.editableSectionId = action.payload; + }, + + deleteSection: (state, action: PayloadAction<{ sectionId: string }>) => { + state.taskGroups = state.taskGroups.filter( + section => section.id !== action.payload.sectionId + ); + if (state.editableSectionId === action.payload.sectionId) { + state.editableSectionId = null; + } + }, }, extraReducers: builder => { builder @@ -1087,6 +1102,8 @@ export const { updateEnhancedKanbanTaskStartDate, updateEnhancedKanbanSubtask, toggleTaskExpansion, + setEditableSection, + deleteSection, } = enhancedKanbanSlice.actions; export default enhancedKanbanSlice.reducer;