PayssageFrontend
Frontend
The Payssage frontend app and its generated TypeScript API client.
The Payssage frontend lives in the TheTree monorepo. Two pieces:
| Piece | Where | What it is |
|---|---|---|
| App | front/payssage/ | TanStack Start app (React Router, React Query, Base UI) |
| API client | lib/ts/payssage/ | orval-generated client, published as @trieoh/payssage-models |
Stack
- TanStack Start — React Router + SSR + React Query; server functions for BFF-ish calls.
- Base UI + Tailwind;
@trieoh/ui-base/@trieoh/front-corefor shared UI and conventions. - Mercado Pago SDK (
@mercadopago/sdk-js) for card tokenization and Pix presentation at checkout.
Generated client
lib/ts/payssage/
├── client/
│ ├── endpoints.ts # typed API functions
│ ├── schemas/ # spec types
│ └── (react-query hooks)
└── package.json # @trieoh/payssage-models- The
fun.Responseenvelope is unwrapped for you (orval input transformer + runtime mutator inlib/ts/api-client/src/orval-mutator.ts); failures reject withApiError(envelope at.envelope). - Regenerate after any spec change:
pnpm orval— never hand-write endpoint code.
Run it
pnpm --filter @trieoh/payssage-models dev # generated client workspace pkg
pnpm --filter payssage dev # the app (front/payssage)