Commit graph

5 commits

Author SHA1 Message Date
patriceckhart
6b03aa3320 feat(auth): headless OAuth with paste-code input
Runs the local callback server and the manual copy-code flow in parallel. Displays a real input field (with blinking cursor) for pasting the authorization code / redirect URL / code#state. Anthropic manual variant uses the console copy-code redirect URI to bypass localhost.
2026-04-22 17:49:11 +02:00
patriceckhart
f8c309e3ca feat(auth,tui): dark login pages + /logout picker
Two unrelated UX improvements bundled:

1. Login pages (all of them) now use the TUI-matching dark style.
   Swapped the shared monoStyle from white/black to:
     - background #0a0a0a
     - white body text
     - Geist Mono via Google Fonts @import
     - accent #7ed3fc on every occurrence of the word "zot"
   Applies to: /apikey index, /apikey form, api-key success, oauth
   success, oauth error. The three pages that were still white
   (index, form, error) now match the TUI's dark look end-to-end.
   Input focus ring and button hover flipped to white-on-dark.

2. /logout without an argument opens a picker.
   New logout_dialog.go modelled on the existing small-list dialogs
   (model picker shape, session picker size). Lists only the
   providers the user is actually logged into, each with an
   (apikey) or (oauth) tag. When both are logged in, an extra
   "all" row is appended. When nothing is stored, /logout reports
   "no credentials stored; already logged out" and doesn't open
   an empty dialog.

   /logout anthropic, /logout openai, /logout all still work
   exactly as before (direct, no dialog).

Also includes the user's earlier edit to defaultIdentity:
"operating inside zot, a coding agent harness" rewording.
2026-04-19 20:14:22 +02:00
patriceckhart
6324668df8 add auto compaction 2026-04-18 10:34:08 +02:00
patriceckhart
091d5df5ef add logo to callback page 2026-04-18 10:15:53 +02:00
patriceckhart
6cced27476 initial commit 2026-04-17 20:36:38 +02:00