Skip to content

fix(favorites): confirm before deleting category (closes #337) - #467

Merged
EVWorth merged 1 commit into
mainfrom
fix/337-delete-category-confirm
Aug 1, 2026
Merged

fix(favorites): confirm before deleting category (closes #337)#467
EVWorth merged 1 commit into
mainfrom
fix/337-delete-category-confirm

Conversation

@EVWorth

@EVWorth EVWorth commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

Right-click 'Delete Category' on a favorites category fires deleteCategory() immediately, silently moving all favorites in that category to Uncategorized. Adds a ConfirmDialog showing the affected favorite count before executing.

Files

  • src/components/favorites/QueryFavorites.tsx
  • src/components/favorites/tests/QueryFavorites.test.tsx

Test plan

  • vitest: src/components/favorites/tests/QueryFavorites.test.tsx (7/7 pass)
  • vitest: full favorites suite passes (19/19)
  • tsc --noEmit clean
  • dprint clean

Closes #337

S-scope fix. Wraps the right-click 'Delete Category' in a ConfirmDialog showing 'Delete category Reports? N favorites will be moved to Uncategorized.' The store action itself was correct; missing confirmation upstream destroyed organizational work.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@EVWorth
EVWorth marked this pull request as ready for review August 1, 2026 18:06
@EVWorth
EVWorth merged commit 8a13fc5 into main Aug 1, 2026
10 checks passed
@EVWorth
EVWorth deleted the fix/337-delete-category-confirm branch August 1, 2026 18:06
EVWorth added a commit that referenced this pull request Aug 1, 2026
Resolves merge conflict with #337 (which was merged via #467). Combines
both fixes:

- Dirty-tab overwrite guard: handleClick (now via openFavorite helper)
  checks isDirty on the active query tab and opens a ConfirmDialog
  ('Replace current tab content? Unsaved changes will be lost.') before
  swapping the editor content for the favorite's SQL.
- Delete-category confirm (from #337 via #467): separate ConfirmDialog
  with 'Delete category X? N favorites will be moved to Uncategorized.'

The two ConfirmDialogs coexist (one driven by pendingFavorite + showConfirm,
one by pendingDelete) and are visually distinct (one danger, one neutral).

Tests: combined suite now exercises both flows with a single elaborate
useContextMenu mock that renders context-menu items as buttons.

Closes #341

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

[P1/bug] No confirmation on deleteCategory — silently orphans all favorites back to Uncategorized

1 participant