Skip to content

PWA / offline shell for the merchant dashboard #476

Description

@therealjhay

ProblemThe merchant dashboard is entirely network-dependent; there is no offline shell, cached assets, or stale-while-revalidate for the app shell.

Solution

  • Add a service worker (workbox) that pre-caches the app shell and runtime-caches GET API responses stale-while-revalidate for list endpoints.
  • Add an offline banner (reusing offlineStore and useOnlineStatus) that reflects API reachability, not just navigator.onLine.
  • Implement background-sync for payment-link creation and webhook test submissions.
  • Add a manifest with icons and an install prompt for the merchant dashboard.

Acceptance Criteria

  • After first load, the merchant dashboard renders offline with cached data and a banner.
  • Offline-created payment links sync when connectivity returns.
  • API-reachability and browser-online states never contradict for long.
  • npm run build passes.

Note for Contributors: Write a clear PR description. Show the app shell loading offline and a background-synced link.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third Campaign

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions