Mockup, do not merge: swipe rows, one pill at a time, trackpad swipe (#400) #501

Closed
kayg wants to merge 3 commits from issue/400-swipe-mockup-2 into dev
Owner

Mockup, do not merge. The shared row code from the chrome round, applied to the swipe mockup: https://preview.calternal.cloud/swipe.html . One pill at a time, a sideways trackpad scroll swipes rows, no hover dots, Copy link then Pin, a toast for what a swipe did. Replaces the branch of #433.

Refs #400.

🤖 Generated with Claude Code

https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b

**Mockup, do not merge.** The shared row code from the chrome round, applied to the swipe mockup: https://preview.calternal.cloud/swipe.html . One pill at a time, a sideways trackpad scroll swipes rows, no hover dots, Copy link then Pin, a toast for what a swipe did. Replaces the branch of #433. Refs #400. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b
Rows swipe in the note list, the sidebar (places and tags), search results and the Trash. Every
route to a row's actions reads one registry (rows/row-actions.ts): the swipe buttons, the ⋯ and
right-click menu, the long-press card, the shortcuts on a focused row and aria-actions.

- rows/swipe-row.ts: the gesture. Follows the finger 1:1, rubber-bands past the buttons (×0.55),
  a long swipe grows the outer button into the gap on a spring detent, release keeps the finger's
  speed (springTo). Never from the left 24 px; claims at ≥10 px sideways, >2× vertical, within
  300 ms of the touch; a still hold is a long press. Non-passive touch listeners (WebKit 232545).
  Transforms only; one width read per touch.
- rows/RowActions.svelte, RowCard.svelte: the tray, the ⋯ on hover/focus, the long-press card
  (preview with every action under it).
- rows/plugins: note, search, sidebar and Trash actions. Archive and Hide as kayg decided them
  (W13, W17–W19): an Archive place once anything is archived, Unarchive on its long swipe; "archived"
  and "hidden" in search, and "Show hidden items" in a result's ⋯.
- Still open, as mockup switches: W14 search's left → right order, W15 Pin, W16 Open as a button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Yyy8fQGxPLkLa8v8NXz7T
Swipe rows: labels wrap only between words, ⋯ steps aside while a row moves (#400)
Some checks failed
CI / server (pull_request) Successful in 1m6s
CI / rust (pull_request) Successful in 2m39s
CI / web (pull_request) Failing after 44m13s
56313bd51f
"Unarchive" broke mid-word in its 56 px tile; labels now wrap between words only. The ⋯ hid the
tray during a mouse swipe; it now steps aside while the row is moved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Yyy8fQGxPLkLa8v8NXz7T
Swipe rows: one pill at a time, trackpad swipe, no hover dots, Copy link then Pin, a toast for what a swipe did (#400)
Some checks failed
CI / server (pull_request) Successful in 1m11s
CI / rust (pull_request) Successful in 3m36s
CI / web (pull_request) Failing after 42m34s
965a838049
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b
Author
Owner

Closed: replaced by the next round's PR (#509 for chrome.html, #510 for the swipe rows). Mockup, do not merge.

Closed: replaced by the next round's PR (#509 for chrome.html, #510 for the swipe rows). Mockup, do not merge.
kayg closed this pull request 2026-10-16 18:05:35 +00:00
Some checks failed
CI / server (pull_request) Successful in 1m11s
CI / rust (pull_request) Successful in 3m36s
CI / web (pull_request) Failing after 42m34s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal!501
No description provided.