3x-ui/frontend/src/pages/nodes
MHSanaei b9cbc0c1e8
fix(ui): exit infinite spinner with a retry card on failed initial load
List pages wrapped content in <Spin spinning={!fetched}> where 'fetched' only flipped true once data arrived. With staleTime: Infinity + retry: 1, a transient network error on first load left the query in a permanent error state and the spinner stuck forever.

Now 'fetched' also settles on query.isError, and a failed load shows a Result error card with a Refresh button that self-heals when the backend returns, mirroring the existing XrayPage pattern. Applied to clients, inbounds, groups, nodes, and the dashboard.

Fixes #4723
2026-06-01 07:43:32 +02:00
..
NodeFormModal.css Frontend rewrite: React + TypeScript with AntD v6 (#4498) 2026-05-23 15:21:45 +02:00
NodeFormModal.tsx feat: complete Zod migration of frontend + bulk client batching (#4599) 2026-05-27 04:26:50 +02:00
NodeHistoryPanel.css Frontend rewrite: React + TypeScript with AntD v6 (#4498) 2026-05-23 15:21:45 +02:00
NodeHistoryPanel.tsx refactor(frontend): reorganize source tree & break down oversized modals/tabs (#4698) 2026-05-30 21:51:33 +02:00
NodeList.css chore(ui): polish empty states + sidebar icon + i18n page titles 2026-05-27 15:06:57 +02:00
NodeList.tsx feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
NodesPage.tsx fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00