From fe254b607c4cf25f6512771a4cc6e53397e5a4d3 Mon Sep 17 00:00:00 2001 From: HugoXK Date: Sun, 15 Nov 2026 11:38:28 +0800 Subject: [PATCH] ui: give Repositories the full row and move Add repository into a modal Fixes #748 --- .../748-repositories-add-dialog.changed.md | 1 + docs/architecture.md | 8 ++++ public/app.css | 9 ++++ public/app.js | 44 +++++++++++++++++++ src/views/pages.ts | 40 ++++++++++++----- test/jobFilters.test.ts | 2 +- test/nextAction.test.ts | 4 +- test/pages.test.ts | 8 ++++ 8 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 changelog.d/748-repositories-add-dialog.changed.md diff --git a/changelog.d/748-repositories-add-dialog.changed.md b/changelog.d/748-repositories-add-dialog.changed.md new file mode 100644 index 00000000..d141b5f0 --- /dev/null +++ b/changelog.d/748-repositories-add-dialog.changed.md @@ -0,0 +1 @@ +The dashboard's Repositories card now uses the full content row; Add repository is a header button that opens a native dialog with the GitHub App and fine-grained token options. `#add-repo` remains a working deep link, and the form still renders inline when JavaScript is unavailable. diff --git a/docs/architecture.md b/docs/architecture.md index 0ca7c76a..10fd0170 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -57,6 +57,14 @@ header, not a section — so at the top of that page nothing has passed and `#release`, the first chip, is marked. That fallback is the accepted state, not a defect. +The dashboard's Repositories card owns the full content row; its Add repository +button sits in the card header and opens a native `` with the GitHub App +and fine-grained token options. `#add-repo` remains the deep link used by the +empty state, the next action, the setup checklist and the `POST /repos` error, so +the dialog is opened by the hash as well as the button. The dialog lives outside +the secondary disclosure; a `