refactor: move notifications to popover and simplify task timeline
This commit is contained in:
@@ -70,14 +70,13 @@ type UseTaskNotificationsCenterResult = {
|
||||
activeTasks: Task[];
|
||||
finishedTasks: Task[];
|
||||
unreadCount: number;
|
||||
isLoading: boolean;
|
||||
awaitingReviewTasks: Task[];
|
||||
visibleFinishedTasks: Task[];
|
||||
showReadFinished: boolean;
|
||||
setShowReadFinished: (value: boolean) => void;
|
||||
isPopoverOpen: boolean;
|
||||
setIsPopoverOpen: (value: boolean) => void;
|
||||
isDrawerOpen: boolean;
|
||||
setIsDrawerOpen: (value: boolean) => void;
|
||||
detailTaskId: string | null;
|
||||
setDetailTaskId: (value: string | null) => void;
|
||||
isDetailOpen: boolean;
|
||||
@@ -94,7 +93,8 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
const [finishedTasks, setFinishedTasks] = useState<Task[]>([]);
|
||||
const [showReadFinished, setShowReadFinished] = useState(false);
|
||||
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
||||
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
||||
const [hasLoadedActive, setHasLoadedActive] = useState(false);
|
||||
const [hasLoadedFinished, setHasLoadedFinished] = useState(false);
|
||||
const [detailTaskId, setDetailTaskId] = useState<string | null>(null);
|
||||
const [isDetailOpen, setIsDetailOpen] = useState(false);
|
||||
|
||||
@@ -149,7 +149,6 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
const openTaskDetails = useCallback((taskId: string) => {
|
||||
setDetailTaskId(taskId);
|
||||
setIsDetailOpen(true);
|
||||
setIsDrawerOpen(true);
|
||||
setIsPopoverOpen(false);
|
||||
}, []);
|
||||
|
||||
@@ -276,6 +275,8 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
finishedSnapshotRef.current = finishedRes.tasks;
|
||||
activeLoadedRef.current = true;
|
||||
finishedLoadedRef.current = true;
|
||||
setHasLoadedActive(true);
|
||||
setHasLoadedFinished(true);
|
||||
setActiveTasks(activeRes.tasks);
|
||||
setFinishedTasks(finishedRes.tasks);
|
||||
processSnapshots();
|
||||
@@ -306,6 +307,7 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
|
||||
activeSnapshotRef.current = response.tasks;
|
||||
activeLoadedRef.current = true;
|
||||
setHasLoadedActive(true);
|
||||
setActiveTasks(response.tasks);
|
||||
processSnapshots();
|
||||
} catch {
|
||||
@@ -332,6 +334,7 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
|
||||
finishedSnapshotRef.current = response.tasks;
|
||||
finishedLoadedRef.current = true;
|
||||
setHasLoadedFinished(true);
|
||||
setFinishedTasks(response.tasks);
|
||||
processSnapshots();
|
||||
} catch {
|
||||
@@ -381,18 +384,19 @@ export function useTaskNotificationsCenter(): UseTaskNotificationsCenterResult {
|
||||
return unreadTerminal + unreadActive;
|
||||
}, [normalizedActiveTasks, normalizedFinishedTasks]);
|
||||
|
||||
const isLoading = !hasLoadedActive || !hasLoadedFinished;
|
||||
|
||||
return {
|
||||
activeTasks: normalizedActiveTasks,
|
||||
finishedTasks: normalizedFinishedTasks,
|
||||
unreadCount,
|
||||
isLoading,
|
||||
awaitingReviewTasks,
|
||||
visibleFinishedTasks,
|
||||
showReadFinished,
|
||||
setShowReadFinished,
|
||||
isPopoverOpen,
|
||||
setIsPopoverOpen,
|
||||
isDrawerOpen,
|
||||
setIsDrawerOpen,
|
||||
detailTaskId,
|
||||
setDetailTaskId,
|
||||
isDetailOpen,
|
||||
|
||||
Reference in New Issue
Block a user