feat(task-management): enhance task filtering and UI components for improved usability

- Updated AssigneeSelector and LabelsSelector components to include text color adjustments for better visibility in dark mode.
- Introduced ImprovedTaskFilters component for a more efficient task filtering experience, integrating Redux state management for selected priorities and labels.
- Refactored task management slice to support new filtering capabilities, including selected priorities and improved task fetching logic.
- Enhanced TaskGroup and TaskRow components to accommodate new filtering features and improve overall layout consistency.
This commit is contained in:
chamiakJ
2025-06-24 21:40:01 +05:30
parent 95d0985f3d
commit f405777463
13 changed files with 1236 additions and 360 deletions

View File

@@ -76,6 +76,10 @@ interface BoardState {
priorities: string[];
members: string[];
editableSectionId: string | null;
allTasks: IProjectTask[];
grouping: string;
totalTasks: number;
}
const initialState: BoardState = {
@@ -98,6 +102,9 @@ const initialState: BoardState = {
priorities: [],
members: [],
editableSectionId: null,
allTasks: [],
grouping: '',
totalTasks: 0,
};
const deleteTaskFromGroup = (
@@ -186,7 +193,7 @@ export const fetchBoardTaskGroups = createAsyncThunk(
priorities: boardReducer.priorities.join(' '),
};
const response = await tasksApiService.getTaskList(config);
const response = await tasksApiService.getTaskListV3(config);
return response.body;
} catch (error) {
logger.error('Fetch Task Groups', error);
@@ -803,7 +810,10 @@ const boardSlice = createSlice({
})
.addCase(fetchBoardTaskGroups.fulfilled, (state, action) => {
state.loadingGroups = false;
state.taskGroups = action.payload;
state.taskGroups = action.payload && action.payload.groups ? action.payload.groups : [];
state.allTasks = action.payload && action.payload.allTasks ? action.payload.allTasks : [];
state.grouping = action.payload && action.payload.grouping ? action.payload.grouping : '';
state.totalTasks = action.payload && action.payload.totalTasks ? action.payload.totalTasks : 0;
})
.addCase(fetchBoardTaskGroups.rejected, (state, action) => {
state.loadingGroups = false;