Skip to content

feat: drag-to-reorder tabs and close merged option#138

Merged
stylessh merged 2 commits intomainfrom
stylessh/quirky-chatterjee
Apr 16, 2026
Merged

feat: drag-to-reorder tabs and close merged option#138
stylessh merged 2 commits intomainfrom
stylessh/quirky-chatterjee

Conversation

@stylessh
Copy link
Copy Markdown
Owner

Summary

  • Drag-to-reorder tabs: native HTML drag-and-drop on dashboard tabs. Reorder persists to localStorage via new reorderTabs() store function.
  • "Close merged" context menu: bulk-close all merged PR and review tabs. Uses a purple GitPullRequestIcon to match merged tab styling. Navigates away if the active tab is merged.
  • Merged state tracking: added merged?: boolean field to Tab interface, set from pr.isMerged when registering pull/review tabs. Falls back to iconColor === "text-purple-500" for legacy tabs without the field.

Changed files

  • apps/dashboard/src/lib/tab-store.tsmerged field, isMergedTab(), removeMergedTabs(), reorderTabs()
  • apps/dashboard/src/components/layouts/dashboard-tabs.tsx — native drag handlers, "Close merged" context menu item
  • apps/dashboard/src/components/pulls/detail/pull-detail-page.tsx — pass merged: pr.isMerged
  • apps/dashboard/src/components/pulls/review/review-page.tsx — pass merged: pr.isMerged

Test plan

  • Open multiple tabs, drag to reorder, verify order persists after reload
  • Right-click tab bar → "Close merged" removes only merged PR/review tabs
  • "Close merged" disabled when no merged tabs exist
  • If active tab is merged, navigates to first remaining tab or home
  • Close buttons and link navigation still work normally after drag

- Add native HTML drag-and-drop to reorder dashboard tabs, persisted to localStorage
- Add "Close merged" context menu option with purple PR icon to bulk-close merged PR/review tabs
- Track merged state on tabs via explicit `merged` field with iconColor fallback for existing tabs
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 16, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
diffkit 5e23592 Apr 16 2026, 03:09 PM

@stylessh stylessh merged commit bee56dd into main Apr 16, 2026
5 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