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.

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