Skip to content

feat(ux): spring-driven press feedback on PressableCard#134

Merged
os-zhuang merged 1 commit into
mainfrom
feat/motion-press-spring
Jun 11, 2026
Merged

feat(ux): spring-driven press feedback on PressableCard#134
os-zhuang merged 1 commit into
mainfrom
feat/motion-press-spring

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

What

Third slice of the 动效与转场 (motion) track.

PressableCard — the shared tappable surface for list items, dashboard tiles, and home cards — previously used an instant CSS active:scale-[0.98] snap. It now drives a reanimated spring scale on press in/out (0.97 ↔ 1, a snappy low-overshoot spring), giving the soft, physical press response top-tier apps use. Centralized in one component, so the feel is identical everywhere.

Safe inside FlashList rows: unlike entering animations, press springs don't re-trigger on cell recycling.

Verification

  • tsc --noEmit clean
  • eslint clean
  • 1337 tests pass, no snapshot drift
  • Web bundle rebuilds and loads with zero console errors

🤖 Generated with Claude Code

Replace the instant CSS active:scale snap with a reanimated spring scale
on pressIn/pressOut (0.97 ↔ 1, snappy low-overshoot spring). Every
tappable card row — list items, dashboard tiles, home cards — now has
the soft tactile press response top-tier apps use, consistently and in
one place. Safe inside FlashList rows: unlike entering animations, press
springs don't re-trigger on cell recycling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@os-zhuang os-zhuang merged commit 136d4e7 into main Jun 11, 2026
3 checks passed
@os-zhuang os-zhuang deleted the feat/motion-press-spring branch June 11, 2026 15:13
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