feat(performance): implement various performance optimizations across components

- Added a new `usePerformanceOptimization` hook for tracking render performance, debouncing, throttling, and optimized selectors to reduce unnecessary re-renders.
- Enhanced `ProjectGroupList` and `ProjectList` components with preloading of project view and task management components on hover for smoother navigation.
- Updated `TaskListBoard` to import `ImprovedTaskFilters` synchronously, avoiding suspense issues.
- Introduced a `resetTaskDrawer` action in the task drawer slice for better state management.
- Improved layout and positioning in `SuspenseFallback` for better user experience during loading states.
- Documented performance optimizations in `PERFORMANCE_OPTIMIZATIONS.md` outlining key improvements and metrics.
This commit is contained in:
chamikaJ
2025-06-27 13:12:47 +05:30
parent fdb485614f
commit 7e44d53bb3
9 changed files with 681 additions and 118 deletions

View File

@@ -114,6 +114,9 @@ const taskDrawerSlice = createSlice({
state.taskFormViewModel.task.schedule_id = schedule_id;
}
},
resetTaskDrawer: (state) => {
return initialState;
},
},
extraReducers: builder => {
builder.addCase(fetchTask.pending, state => {
@@ -142,6 +145,7 @@ export const {
setTaskLabels,
setTaskSubscribers,
setTimeLogEditing,
setTaskRecurringSchedule
setTaskRecurringSchedule,
resetTaskDrawer
} = taskDrawerSlice.actions;
export default taskDrawerSlice.reducer;