Covers: app layout, initiatives list, initiative detail (4 tabs), agents page, inbox, settings (health + projects), and all dialogs.
9.5 KiB
9.5 KiB
Review Tab (?tab=review)
Two-column layout: diff viewer (main) + review sidebar (300px). Shows code diffs for phases pending review.
Default State
+============================================================================+
| < Back |
| Auth System Overhaul [ACTIVE] [REVIEW] [git] main [P] backend |
| [ Content ] [ Plan ] [ Execution ] [*Review*] |
+============================================================================+
| | |
| Phase: [Phase 2: OAuth] [Phase 3: UI] <-- pill selector | Review |
| | |
| +-----------------------------------------------------------+ | Phase 2 |
| | [play] Start Preview | | OAuth |
| +-----------------------------------------------------------+ | Flow |
| | |
| +-----------------------------------------------------------+ |[PENDING] |
| | src/auth/oauth.ts +42 -8 | | |
| |--------------------------------------------------------- | | Author |
| | 37 | import { OAuth2Client } from 'google...' | | agent-3 |
| | 38 | + export async function initOAuth(config) { | | |
| | 39 | + const client = new OAuth2Client({ | | Branch |
| | 40 | + clientId: config.clientId, | | cw/auth |
| | 41 | + clientSecret: config.clientSecret, | | -> main |
| | 42 | + }); | | |
| | 43 | + return client; | |----------+
| | 44 | + } | | |
| | | | |[Approve] |
| | 58 | - function legacyAuth() { | |[Request |
| | 59 | - // old implementation | | Changes] |
| | 60 | - } | | |
| | | | |----------+
| | [+ Add comment] | | Discuss. |
| +-----------------------------------------------------------+ | 3 cmnts |
| | 2 reslvd |
| +-----------------------------------------------------------+ | 1 open |
| | src/auth/routes.ts +28 -3 | |----------+
| |--------------------------------------------------------- | | Changes |
| | 12 | + router.get('/auth/login', ... | | 4 files |
| | 13 | + router.get('/auth/callback', ... | | +120 -45 |
| | 14 | + router.post('/auth/logout', ... | |----------+
| +-----------------------------------------------------------+ | Files |
| | oauth.ts |
| | (2) +42 |
| | routes.ts|
| | +28 |
| | config.ts|
| | +35 |
| | test.ts |
| | +15 |
+============================================================================+
Phase Selector (multiple phases pending review)
Phase: [*Phase 2: OAuth*] [Phase 3: UI Components]
^^^^^^^^^^^^^^^^
active pill (filled background)
Only shown when 2+ phases are in pending_review status.
Preview Panel
No Preview Running
+------------------------------------------------------------------------+
| [play] Start Preview |
+------------------------------------------------------------------------+
Building
+------------------------------------------------------------------------+
| [spinner] Building preview... |
+------------------------------------------------------------------------+
Running
+------------------------------------------------------------------------+
| [*] Preview running: http://localhost:9100/preview/abc123 [ Stop ] |
+------------------------------------------------------------------------+
Failed
+------------------------------------------------------------------------+
| [!] Preview failed [ Retry ]|
+------------------------------------------------------------------------+
Diff Viewer (left panel)
File Card (expanded)
+------------------------------------------------------------------------+
| src/auth/oauth.ts +42 -8 |
|------------------------------------------------------------------------|
| 37 | import { OAuth2Client } from 'google-auth-library'; |
| 38 | + export async function initOAuth(config: OAuthConfig) { |
| 39 | + const client = new OAuth2Client({ |
| 40 | + clientId: config.clientId, |
| 41 | + clientSecret: config.clientSecret, |
| 42 | + }); |
| 43 | + return client; |
| 44 | + } |
| | ... |
| 58 | - function legacyAuth() { |
| 59 | - // old implementation |
| 60 | - } |
| | |
| [+ Add comment] |
+------------------------------------------------------------------------+
- Unified diff format with line numbers
- Green
+lines for additions, red-lines for deletions - Context lines (unchanged) in grey
- Inline comment form: click
[+ Add comment]to expand textarea - Hunk separators (
...) between non-contiguous sections
Inline Comment Thread
| 42 | + }); |
| | +--------------------------------------------------------------+ |
| | | user: Should this use env vars instead of config? | |
| | | [Resolve] | |
| | | | |
| | | [Reply...________________________________] [Comment] | |
| | +--------------------------------------------------------------+ |
| 43 | + return client; |
Review Sidebar (300px, right)
+---------------------------+
| Review |
| |
| Phase 2: OAuth Flow |
| [PENDING REVIEW] |
| |
| Author |
| agent-3 (blue-fox) |
| |
| Branch |
| cw/auth-overhaul |
| -> main |
| |
|---------------------------|
| |
| [ Approve ] | <-- disabled if unresolved threads
| [ Request Changes ] |
| |
| -- or after action: -- |
| [v] Approved |
| [!] Changes Requested |
| |
|---------------------------|
| |
| Discussions |
| 3 comments |
| 2 resolved |
| 1 open |
| |
|---------------------------|
| |
| Changes |
| 4 files changed |
| +120 additions |
| -45 deletions |
| |
|---------------------------|
| |
| Files |
| oauth.ts (2) +42-8 | <-- (2) = comment count, clickable
| routes.ts +28-3 |
| config.ts +35-0 |
| test.ts +15-2 |
| |
+---------------------------+
- File list items are clickable (scrolls diff viewer to that file)
- Comment count shown per file
- Approve button disabled when unresolved comment threads exist
Empty State
+============================================================================+
| |
| No phases pending review |
| |
+============================================================================+
Source
packages/web/src/components/review/ReviewTab.tsxpackages/web/src/components/review/DiffViewer.tsxpackages/web/src/components/review/ReviewSidebar.tsxpackages/web/src/components/review/PreviewPanel.tsxpackages/web/src/components/review/FileCard.tsx