Skip to content

Refactor bookmark selection UI with always-visible checkbox#29

Merged
pheuberger merged 5 commits into
mainfrom
claude/add-bookmark-hover-selection-3b2QS
Feb 5, 2026
Merged

Refactor bookmark selection UI with always-visible checkbox#29
pheuberger merged 5 commits into
mainfrom
claude/add-bookmark-hover-selection-3b2QS

Conversation

@pheuberger
Copy link
Copy Markdown
Owner

Summary

Improved the bookmark selection experience by making the checkbox always visible and refactoring the selection state styling. This provides better visual consistency and clearer affordance for users to interact with bookmarks.

Key Changes

  • Always-visible checkbox: The checkbox is now rendered regardless of selection mode, providing consistent layout and clearer interaction affordance
  • Simplified icon imports: Replaced Square and CheckSquare icons with a single Check icon for a cleaner implementation
  • Enhanced checkbox styling:
    • Implemented a custom checkbox design with border transitions
    • Added visual feedback for hover states in different modes
    • Improved checked state with primary background color
  • Improved keyboard navigation visibility: Separated keyboard selection styling from checked state, using a distinct ring style that appears on top of the checked background
  • Refined background colors: Adjusted checked state background to bg-primary/15 for better visual hierarchy
  • FilterBar alignment: Added a spacer element on larger screens to align the search input with bookmark titles, accounting for the checkbox and gap spacing

Implementation Details

  • The handleCheckboxClick function now intelligently handles both selection mode initiation and toggling
  • Keyboard selection (showKeyboardSelection) is calculated separately to ensure it displays with proper visual priority
  • The checkbox styling uses conditional classes to adapt appearance based on checked state and selection mode
  • The spacer in FilterBar is hidden on smaller screens to maintain responsive design

https://claude.ai/code/session_01Va8iAR47nsxvRy6LmLofCP

- Always render checkbox area for consistent layout alignment
- Show faint checkbox on hover that initiates selection mode when clicked
- Style checked rows with blue background and filled checkmark
- Keep keyboard selection ring visible on top of selected backgrounds
- Add spacer to align search bar with bookmark titles

https://claude.ai/code/session_01Va8iAR47nsxvRy6LmLofCP
@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 5, 2026

Deploy Preview for hypermarkk ready!

Name Link
🔨 Latest commit 8dd3c62
🔍 Latest deploy log https://app.netlify.com/projects/hypermarkk/deploys/6984854287425d0009de7553
😎 Deploy Preview https://deploy-preview-29--hypermarkk.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Use opacity-0/group-hover:opacity-100 to ensure the checkbox is
completely hidden until that specific row is hovered, not all rows.
Use opacity and pointer-events instead of conditional rendering for
edit/delete buttons so rows don't change height when entering selection mode.
Automatically exit selection mode when the user deselects the last
remaining selected bookmark.
The escape key was resetting the sequence but not checking for registered
escape handlers. Now it properly calls the escape/esc handler if one exists.
@pheuberger pheuberger merged commit 1e196a1 into main Feb 5, 2026
7 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.

2 participants