From 46bd94ff3f2c149fa54d2ba6b9f4f6d761d8a175 Mon Sep 17 00:00:00 2001 From: User HP Date: Thu, 23 Jul 2026 05:50:22 -0700 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20add=20offline=E2=80=91first=20degra?= =?UTF-8?q?ded=20mode,=20backend=20health=20check,=20and=20query=20persist?= =?UTF-8?q?ence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/layout.tsx | 3 ++ lib/api/backendStatus.ts | 44 +++++++++++++++++++++++ lib/api/errors.ts | 65 +++++++++++++++++++++------------- lib/api/live.ts | 7 +++- lib/offline/use-sync-status.ts | 21 +++++++++-- lib/wallet/providers.tsx | 15 +++++++- 6 files changed, 127 insertions(+), 28 deletions(-) create mode 100644 lib/api/backendStatus.ts diff --git a/app/layout.tsx b/app/layout.tsx index 0e49b3a..b50e0c3 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -3,6 +3,7 @@ import './globals.css' import { RootProviders } from '@/lib/wallet/providers' import { Nav } from '@/components/nav' import { SwRegistrar } from '@/components/sw-registrar' +import SyncStatusBanner from '@/components/ui/sync-status-banner' export const metadata: Metadata = { title: { @@ -25,6 +26,8 @@ export default function RootLayout({ children }: { children: React.ReactNode }) {/* Registers the service worker for dashboard offline caching */} + {/* Offline/Degraded status banner */} +