feat: add static Next.js dashboard#369
Merged
Merged
Conversation
Mount the exported dashboard at the daemon root, build it into the Python package, and use existing daemon endpoints for SWR data fetching.
Delete the server-rendered dashboard pages, remove the static asset mount, and route the Next dashboard provider login form through the browser-session auth path.
# Conflicts: # src/authsome/server/routes/audit.py # src/authsome/server/routes/connections.py # src/authsome/server/routes/health.py # src/authsome/server/routes/ui.py
Entire-Checkpoint: 7b0ed9933c30
- Build Next.js app and populate src/authsome/ui/web/ so GET / is served from the static bundle rather than a Python f-string page - Apply DESIGN.md (Deep Emerald + Obsidian, dark-first) to the Next.js app: update globals.css tokens, switch fonts to Hanken Grotesk + JetBrains Mono, add dark class to <html>, replace all hardcoded bg-white/bg-slate-* with semantic CSS-variable classes - Redesign Python interstitial pages (claim, device-code, OAuth input, error) using the same DESIGN.md tokens in web_theme.py - Remove Python GET / route and dashboard_page() — Next.js AuthGate handles unauthenticated state; no Python fallback needed - Remove the GET / special-case from _resolve_ui_auth - Move DESIGN.md to ui/ (the Next.js root, the correct home) - Delete test_ui_sessions.py and test_ui_dashboard.py; server-rendered dashboard UI no longer exists as Python code Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
actions/setup-node with cache: "pnpm" tries to locate the pnpm store at setup time, but pnpm was not yet in PATH (corepack enable ran after). Replace corepack enable with pnpm/action-setup@v4 which installs pnpm as a standalone binary before Node is configured, satisfying setup-node's cache probe. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove references to five pages that do not exist: reference/provider-schema, reference/file-layout, concepts/profiles-vs-connections, security/hosted-deployment, guides/profiles. Strategy: strip the links/sentences from the 59 source files rather than creating stub pages. Card blocks pointing to missing pages are removed; inline sentence references are removed or reworded so the surrounding prose stays coherent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update docs.json to match the Authsome Secure Console design system: - colors.primary: #83CA16 (lime) → #10B981 (Deep Emerald) - colors.light: #A3E635 → #4EDEA3 (emerald tint) - colors.dark: #65A30D → #059669 (deep emerald) - background.dark: #0A0A0A → #09090B (Obsidian) - font: add Hanken Grotesk for headings and body (matches DESIGN.md typography spec) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ui//and package build output underauthsome.ui.web/whoami,/connections,/audit/events) instead of adding/api/dashboardauthsome ui openand the old hooked-up static JSsrc/authsome/ui/templates, andsrc/authsome/ui/static/auth/providers/{provider_name}/connectVerification
./scripts/build-ui.shuv run pnpm --dir ui lintuv run ruff check src/ tests/uv run ty check src/uv run pytest tests/server/test_ui_dashboard.py tests/server/test_ui_sessions.py tests/proxy/test_proxy.pyuv run pytestuv run pre-commit run --all-filesuv buildgit diff --checkRefs #364