Skip to content

refactor: graph workspace UI/UX redesign - #10

Merged
shingkid merged 32 commits into
mainfrom
refactor/ui-ux-graph-workspace-design
Apr 24, 2026
Merged

refactor: graph workspace UI/UX redesign#10
shingkid merged 32 commits into
mainfrom
refactor/ui-ux-graph-workspace-design

Conversation

@shingkid

@shingkid shingkid commented Apr 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Introduces GraphWorkspace layout component — CSS grid with a graph area and an optional side dock for the impact details panel, replacing the old floating full-width overlay
  • Legend filter toggles gain aria-pressed state and a tri-class active/inactive/off pattern; a Reset filters button replaces the legend-embedded hosting toggle, which moves to an overlaid toolbar on the graph canvas
  • Startup priority changed to draft-first: saved local drafts are now preferred over remote sources (and recovered on fetch failure), with the load error still surfaced alongside the draft
  • RegistryEditor section-jump config refactored to a typed SECTION_JUMPS array with an isSectionLabel guard; adds hosting and stakeholders jump entries

Test Plan

  • 85/85 tests pass (npm test -- --run)
  • TypeScript clean (npm run typecheck)
  • Impact mode: details panel docks beside graph at ≥1080px, stacks below at <1080px
  • Legend toggles show correct aria-pressed value and visual state; Reset filters restores all three filter sets
  • Hosting boxes button visible in overview/impact modes, hidden in flow mode
  • Opening app with a saved draft skips the remote source fetch and loads the draft
  • Opening app with a saved draft when remote fetch fails: draft loads, error banner still shown

🤖 Generated with Claude Code


Open in Devin Review

shingkid and others added 21 commits April 24, 2026 01:19
Capture approved startup precedence, GraphWorkspace architecture, editor section-jump expansion, and filter/controls UX updates for upcoming implementation.

Made-with: Cursor
Track the approved catalog UI/UX implementation plan and update the spec header to reflect the renamed working branch.
- Remove redundant viewModel.isGraphMode check inside showDetails (already guarded by outer conditional)
- Eliminate optional chaining in details panel by destructuring svc; collapse three IIFEs into one
- Fix Operations section visibility: was hidden when links empty even if incident_channel/slo present
- Make GraphWorkspace controls div conditional to avoid empty positioned overlay
- Remove duplicate handleResetLegendFilters export (kept as resetLegendFilters only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 141685b09f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/app/App.tsx
Comment thread src/app/App.tsx Outdated
shingkid and others added 8 commits April 24, 2026 09:36
- Enhance the loading logic to check for and apply any unfinished in-browser draft before fetching from remote sources.
- Simplify error handling by removing redundant checks related to stored drafts.
- Ensure that the loading state is correctly managed throughout the process.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@shingkid
shingkid merged commit 8e84ce1 into main Apr 24, 2026
2 checks passed
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