feat: tabbed Admin header with drilled Analytics + one standing-context editor - #1283
Merged
Conversation
…t editor Admin drops its index/detail grammar for the shared page-header lozenge cluster (Integrations/team grammar): Admin identity lozenge = Company context landing, People/Billing/Analytics as tabs, Analytics drilling into a back-chip + lens-cluster header (new PageHeaderBackChip). The rail's Admin row always reopens the dashboard home. All standing-prose surfaces (Company context, About me, agent Job description, team context) now share one ContextEditorPage/Box: always open, save-on-blur, no empty states; Company context gains a titled hero and a 3-part greyed example. Old InstructionsContent and the team editor's duplicate are deleted, with their dead locale strings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Surface failed context saves (the workspace-context mutation bypassed the toast layer) and recover the editor's save state on rejection; give every context box an accessible name and drop the write-invitation placeholder on read-only faces. Job description rejoins the agent settings AccessColumn without a duplicate heading. The Analytics lens becomes view-owned prop state (zustand singleton deleted); the e2e Admin helper now waits on the mounted section body. Design tokens restored (ring-focus, text-xs), the orphaned ui/agent InstructionsPanel deleted, and stale doc comments corrected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <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.
What
Admin (the org dashboard) adopts the shared page-header lozenge grammar (Integrations / team screen): the identity lozenge (🏢 Admin) carries the h1 and opens Company context, the landing section; People, Billing (capability-gated), Analytics follow as lozenges. Analytics drills into a second header level — a back chip wearing the destination's glyph (new shared
PageHeaderBackChip) plus lens lozenges (Activity/Usage/Time worked). The rail's Admin row always opens the dashboard home (the rail rule shared with team rows and Settings).One standing-prose editor (
ContextEditorPage/ContextEditorBox): always-open box, greyed example as the invitation, save-on-blur with quiet Saving/Saved, read-only face drops the write invitation. Adopted by Company context (with a titled hero + 3-part example placeholder), About me, agent Job description, and the team context card; the two previous editor implementations and the orphanedui/agentInstructionsPanel are deleted.Review + verification
Two adversarial reviewers (Codex + Claude); all accepted findings fixed in the
fix:commit, including: workspace-context save failures now surface through the standard toast path, editor recovers from failed saves, accessible names on all context boxes, Job description realigned in agent settings without a duplicate heading, Analytics lens as view-owned prop state, design tokens restored, e2e helper waits on the mounted section body.Gates: 3369 unit tests, 297 Playwright e2e, 8 visual baselines (unchanged), typechecks (app/ui/web/e2e), locale parity (en/es/pt), boundary + parity checks — all green. Verified in-app by Julian.
No Linear issue — UI restructure requested directly in session.
🤖 Generated with Claude Code