mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
<!-- Make sure you've read the CONTRIBUTING.md guidelines: https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md --> ## Summary This PR brings the Payments dashboard surfaces in line with the shared design system: product creation, product-line / included-item dialogs, auth-method toggles, payments empty states, and related layout polish. Dialogs migrate from raw shadcn `Dialog` to `DesignDialog` with consistent headers, footers, inputs, and selector dropdowns. **Base:** `dev` → **Head:** `Payments-app-design-fixes` **Scope:** 31 files, ~+1.4k / −1.3k lines **Captured on:** local dev server (`internal` project), signed in as `admin@example.com` ## Screenshots Captured from `http://localhost:8101` (viewport: **1920×1200** standard, **2560×1440** widescreen). Assets hosted in [this gist](https://gist.github.com/mantrakp04/ca3483d2b66b8e28f0872488df573ccf). > Red outlines on the **after** shots mark the new or changed UI introduced by this PR. ### Create Product — payments form redesign | | Before | After | | --- | --- | --- | | Light |  |  | | Dark |  |  | Widescreen: | | Before | After | | --- | --- | --- | | Light |  |  | | Dark |  |  | ### Product Lines onboarding — vertical centering fix | | Before | After | | --- | --- | --- | | Light |  |  | | Dark |  |  | ### Create Product Line dialog — `DesignDialog` migration | | Before | After | | --- | --- | --- | | Light | *(legacy shadcn dialog on `dev` — open via Product Line → Create new)* |  | | Dark | |  | ### Auth Methods — toggle row accessibility | | Before | After | | --- | --- | --- | | Light |  |  | | Dark |  |  | ### Other migrated surfaces (after only) | Page | Light | Dark | | --- | --- | --- | | Payments settings |  |  | | Sign-up rules |  |  | | Projects list (Create Project button) |  |  | | Playground / DesignDialog |  |  | | Included Item dialog |  |  | ### Scroll behaviour — Sign-up Rules | | Light | Dark | | --- | --- | --- | | Scroll |  |  | ## What's new - **`DesignDialog`** extended with `customHeader`, `noBodyPadding`, and section `className` hooks; Playground updated to showcase them. - **Payments dialogs** (`CreateProductLineDialog`, `IncludedItemDialog`, price edit, item dialog) migrated to design-system components. - **Create Product** page uses `DesignButton`, `DesignInput`, `DesignSelectorDropdown`, and refreshed header actions. - **Auth Methods** toggle rows use semantic `<Label htmlFor>` instead of click-capture divs. - **Payments layout** empty-state card centers correctly; product-lines onboarding slideshow vertically centers. - **Backend** seed invariant for Growth product price; removed unused import in product switch route. ## Notes for reviewers - Dialog migrations preserve validation + async error handling (`runAsynchronouslyWithAlert` where applicable). - Included-item dialog uses a sentinel value for “Create new item” to avoid colliding with real item IDs. - `packages/stack` / `packages/js` are untouched; template + dashboard-ui-components carry SDK-facing dialog changes. ## Test plan - [x] Visual capture on `internal` project (`admin@example.com`) — light/dark, standard + widescreen - [ ] Create product flow: customer type → product line dropdown → create line dialog - [ ] Add included item dialog from create/edit product - [ ] Auth Methods toggles (label click + switch) - [ ] Payments product-lines onboarding slideshow at varied viewport heights - [ ] `pnpm typecheck` / `pnpm lint` / targeted E2E if API surface changed --------- Co-authored-by: nams1570 <amanganapathy@gmail.com> Co-authored-by: mantrakp04 <mantrakp@gmail.com> Co-authored-by: Mantra <87142457+mantrakp04@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| code-examples | ||
| content/docs | ||
| lib | ||
| public | ||
| scripts | ||
| src | ||
| templates-api | ||
| .env | ||
| .env.development | ||
| .eslintrc.json | ||
| .gitignore | ||
| cli.json | ||
| instrumentation-client.ts | ||
| next.config.mjs | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| source.config.ts | ||
| tsconfig.json | ||
Stack Auth Documentation
This is the documentation site for Stack Auth, built with Next.js and Fumadocs.
Development
pnpm dev
The docs server runs on port 8104 by default (or ${NEXT_PUBLIC_STACK_PORT_PREFIX}04).
Project Structure
Content (/content)
| Directory | Description |
|---|---|
content/docs/ |
Main documentation (guides, SDK reference, components) |
content/api/ |
REST API reference documentation |
App Routes (/src/app)
| Route | Description |
|---|---|
/docs |
Main documentation pages |
/api |
API reference pages (rendered from OpenAPI specs) |
/docs-embed |
Embedded docs for dashboard companion widget |
/api-embed |
Embedded API docs for dashboard companion widget |
/mcp-browser |
MCP documentation browser |
/handler/[...stack] |
Stack Auth handler route |
/api/search |
Search API endpoint |
/api/chat |
AI documentation chat endpoint |
/llms.txt |
LLM-friendly documentation (plain text) |
/llms.mdx |
LLM-friendly documentation (MDX format) |
SDK Route Handlers
These routes serve SDK-specific documentation:
/js/[...path]- JavaScript SDK/next/[...path]- Next.js SDK/react/[...path]- React SDK/python/[...path]- Python SDK/rest-api/[...path]- REST API
Key Files
| File | Description |
|---|---|
lib/source.ts |
Content source adapter using Fumadocs loader() |
source.config.ts |
Fumadocs MDX configuration (frontmatter schema, etc.) |
app/layout.config.tsx |
Shared layout options |
lib/platform-config.ts |
Platform/framework configuration for code examples |
Components (/src/components)
| Directory | Description |
|---|---|
api/ |
API playground components |
chat/ |
AI chat interface |
layout/ |
Layout UI components (search, navigation) |
layouts/ |
Page layouts (docs, API) |
mdx/ |
Custom MDX components |
stack-auth/ |
Stack Auth demo components |
ui/ |
Base UI components (button, etc.) |
OpenAPI Specs (/openapi)
Contains OpenAPI JSON specifications organized by access level:
client-*.json- Client-side API endpointsserver-*.json- Server-side API endpointsadmin-*.json- Admin API endpointswebhooks-*.json- Webhook event schemas
Scripts
# Generate API docs from OpenAPI specs
pnpm generate-openapi-docs
# Clear generated docs
pnpm clear-docs