3x-ui/frontend/src/pages
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
..
api-docs feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
clients fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00
groups fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00
inbounds fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00
index fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00
login feat: complete Zod migration of frontend + bulk client batching (#4599) 2026-05-27 04:26:50 +02:00
nodes fix(ui): exit infinite spinner with a retry card on failed initial load 2026-06-01 07:43:32 +02:00
settings fix(settings): sync generated schemas 2026-05-31 19:00:26 +02:00
sub fix(qr): hide QR for post-quantum links on client QR page 2026-05-29 17:04:30 +02:00
xray fix(frontend): add missing react-hooks/exhaustive-deps 2026-06-01 00:49:44 +02:00