Skip to content

feat: add static Next.js dashboard#369

Merged
manojbajaj95 merged 9 commits into
mainfrom
feature/nextjs-static-ui
Jun 2, 2026
Merged

feat: add static Next.js dashboard#369
manojbajaj95 merged 9 commits into
mainfrom
feature/nextjs-static-ui

Conversation

@manojbajaj95
Copy link
Copy Markdown
Collaborator

@manojbajaj95 manojbajaj95 commented Jun 1, 2026

Summary

  • scaffold a top-level Next.js/shadcn static-export app under ui/
  • mount the exported UI at the daemon root / and package build output under authsome.ui.web
  • use SWR against existing daemon routes (/whoami, /connections, /audit/events) instead of adding /api/dashboard
  • remove authsome ui open and the old hooked-up static JS
  • remove the legacy server-rendered dashboard routes, src/authsome/ui/templates, and src/authsome/ui/static
  • route dashboard provider login forms through /auth/providers/{provider_name}/connect
  • wire UI build/lint into CI and publish workflows

Verification

  • ./scripts/build-ui.sh
  • uv run pnpm --dir ui lint
  • uv 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.py
  • uv run pytest
  • uv run pre-commit run --all-files
  • uv build
  • git diff --check

Refs #364

manojbajaj95 and others added 9 commits June 1, 2026 15:43
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>
@manojbajaj95 manojbajaj95 merged commit 7c46cd8 into main Jun 2, 2026
6 checks passed
@manojbajaj95 manojbajaj95 deleted the feature/nextjs-static-ui branch June 2, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant