Skip to content

[Admin] Infra: admin SPA packaging + host serving at /admin #29

Description

@serge-ivo

[Admin] Infra: admin SPA packaging + host serving at /admin

Why

The current /admin is a single static store/admin/index.html. We want a real React app (matching store/console) served at /admin by the existing host worker — no separate worker or DNS (PAGS is a single self-contained monorepo; see epic architecture decision).

Scope

  • Create store/admin/ as a React 19 + TypeScript + Tailwind v4 + Vite app, mirroring the store/console toolchain/build (same design tokens, fonts, dark theme).
  • Wire it into the host worker build (workers/host/build.jspages.ts) so /admin and /admin/* serve the SPA (client-side routing), replacing the static stub.
  • Add the admin app to CI build + deploy (.github/workflows), same as console.
  • Keep robots: noindex,nofollow.

Acceptance criteria

  • /admin serves the new SPA in prod; deep links (/admin/users) resolve to the SPA.
  • Old static store/admin/index.html removed.
  • Build/deploy runs in CI with no manual steps (push-to-main auto-deploy).
  • Shares the design system with console (verified visually).

Relevant code

  • workers/host/build.js, workers/host/src/pages.ts
  • store/console/ (reference toolchain: vite.config.ts, package.json, Tailwind v4 setup)
  • .github/workflows/ (host deploy)

References

  • FGS/FAS admin = React SPA served from a CF Worker with Workers Static Assets.

Part of the PAGS Admin Portal epic. Depends on the Foundation issue. Blocks all UI issues.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    admin-portalPAGS admin/operator portalenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions