mirror of
https://github.com/thegeneralist01/archivr
synced 2026-07-22 03:05:32 +02:00
- App: replace single selectedEntryUid with selectedUids Set; anchor stored as UID so shift+click range is stable across search/filter reloads - Shift+click: range-select from UID anchor resolved against current entries; falls back to single-select if anchor was evicted - Ctrl/Cmd+click: toggle individual entry in selection - Plain click: single-select (existing ContextRail behaviour unchanged) - onMouseDown preventDefault when shift held to suppress browser text selection - selectedUids pruned to visible entries on loadEntries (size >= 2 only; single-select persists across search/filter) - Auto-snap effect: drives selectedEntryUid from selectedUids so URL sync, detail panel, and back/forward navigation stay correct - EntriesView: passes selectedUids + onRowClick; computes isSelected / isMultiSelected per row - EntryRow: mobile-only checkbox column (pointer:coarse media query); uses <button aria-pressed> with aria-label for assistive tech; onKeyDown stopPropagation so Space/Enter on the button don't bubble to the row handler - CSS: is-multi-selected style; col-check hidden by default, shown on coarse pointer; custom checkbox button with checked state and tick mark |
||
|---|---|---|
| .. | ||
| .storybook | ||
| src | ||
| bun.lock | ||
| index.html | ||
| package.json | ||
| vite.config.js | ||