refactor(workbench): remove redundant notification state
This commit is contained in:
@@ -71,11 +71,8 @@ export function useOperationalTasks(
|
||||
const acknowledgeEventsThrough = sync.acknowledgeEventsThrough;
|
||||
const [tasks, setTasks] = useState<OperationalTask[]>([]);
|
||||
const [notifications, setNotifications] = useState<OperationalTaskNotification[]>([]);
|
||||
const [available, setAvailable] = useState(false);
|
||||
const activatedRef = useRef(false);
|
||||
const tasksRef = useRef<OperationalTask[]>([]);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [lastSyncedAt, setLastSyncedAt] = useState<string | null>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [refreshGeneration, setRefreshGeneration] = useState(0);
|
||||
const forceRefreshRef = useRef(false);
|
||||
@@ -111,13 +108,9 @@ export function useOperationalTasks(
|
||||
detailResetGenerationRef.current = sync.detailResetGeneration;
|
||||
setTasks(nextTasks);
|
||||
setNotifications(selectHeaderNotifications(sync.snapshot?.notifications ?? []));
|
||||
setAvailable(true);
|
||||
activatedRef.current = true;
|
||||
setError(null);
|
||||
setLastSyncedAt(new Date().toISOString());
|
||||
} catch (nextError) {
|
||||
if (controller.signal.aborted) return;
|
||||
if (!activatedRef.current) setAvailable(false);
|
||||
setError(nextError instanceof Error ? nextError.message : "工况任务服务暂时不可用。");
|
||||
} finally {
|
||||
if (!controller.signal.aborted) {
|
||||
@@ -159,7 +152,6 @@ export function useOperationalTasks(
|
||||
...tasksRef.current.filter((task) => !changed.has(task.task_id))
|
||||
];
|
||||
setTasks(tasksRef.current);
|
||||
setLastSyncedAt(new Date().toISOString());
|
||||
}
|
||||
acknowledgeEventsThrough(lastSequence);
|
||||
}).catch((nextError) => {
|
||||
@@ -189,11 +181,8 @@ export function useOperationalTasks(
|
||||
}, getAccessToken);
|
||||
tasksRef.current = [task, ...tasksRef.current.filter((item) => item.task_id !== task.task_id)];
|
||||
setTasks(tasksRef.current);
|
||||
activatedRef.current = true;
|
||||
setAvailable(true);
|
||||
setLoading(false);
|
||||
setError(null);
|
||||
setLastSyncedAt(new Date().toISOString());
|
||||
return task;
|
||||
}, [getAccessToken]);
|
||||
|
||||
@@ -300,10 +289,7 @@ export function useOperationalTasks(
|
||||
fetchOperationalTaskEvidenceSnapshot(taskId, evidenceId, getAccessToken), [getAccessToken]);
|
||||
|
||||
return {
|
||||
available,
|
||||
error: error ?? sync.error,
|
||||
syncStatus: sync.status,
|
||||
lastSyncedAt,
|
||||
loading,
|
||||
tasks,
|
||||
conditions,
|
||||
|
||||
Reference in New Issue
Block a user