feat(assignee-selector, suspense-fallback, project-view): optimize component loading and enhance user experience

- Integrated synchronous imports for TaskListFilters and filter dropdowns to improve performance and reduce loading times.
- Refactored AssigneeSelector to include a new invite member drawer functionality, enhancing user interaction.
- Simplified SuspenseFallback components for better loading experiences, ensuring they do not block the main UI.
- Updated project view constants to utilize InlineSuspenseFallback for lazy-loaded components, improving rendering efficiency.
This commit is contained in:
chamikaJ
2025-06-25 17:08:40 +05:30
parent 3c7cacc46f
commit 44527f68cf
6 changed files with 144 additions and 120 deletions

View File

@@ -1,7 +1,7 @@
import { useEffect, useState, useRef, useMemo, useCallback, lazy, Suspense } from 'react';
import { useEffect, useState, useRef, useMemo, useCallback } from 'react';
import { useAppSelector } from '@/hooks/useAppSelector';
const TaskListFilters = lazy(() => import('../taskList/task-list-filters/task-list-filters'));
import TaskListFilters from '../taskList/task-list-filters/task-list-filters';
import { Flex, Skeleton } from 'antd';
import BoardSectionCardContainer from './board-section/board-section-container';
import {
@@ -44,6 +44,7 @@ import { checkTaskDependencyStatus } from '@/utils/check-task-dependency-status'
import { debounce } from 'lodash';
import { ITaskListPriorityChangeResponse } from '@/types/tasks/task-list-priority.types';
import { updateTaskPriority as updateBoardTaskPriority } from '@/features/board/board-slice';
interface DroppableContainer {
id: UniqueIdentifier;
data: {
@@ -554,9 +555,7 @@ const ProjectViewBoard = () => {
return (
<Flex vertical gap={16}>
<Suspense fallback={<div>Loading filters...</div>}>
<TaskListFilters position={'board'} />
</Suspense>
<TaskListFilters position={'board'} />
<Skeleton active loading={isLoading} className='mt-4 p-4'>
<DndContext
sensors={sensors}