mobile
Double-Tap Like
Double-tapping media sets liked and plays a heart burst; a corner button is the full toggle for keyboard and screen-reader use.
- mobile
- like
- double-tap
- gesture
- media
Related pattern
Matches the real pattern: the gesture only ever sets liked true, it never unlikes — only the explicit button toggles.
Live preview
Double-tap the photo, or use the corner button
Quick usage
usage
import { DoubleTapLike } from "@pinky-ui/systems";
<DoubleTapLike liked={liked} onLikedChange={setLiked}>{media}</DoubleTapLike>Install
Add @pinky-ui/systems as a dependency, or use the CLI to copy this component's source directly into your project — no dependency to manage, fully editable.
shell
npm install @pinky-ui/systemsshell
pnpm add @pinky-ui/systemsshell
yarn add @pinky-ui/systemsshell — copies source into your project
npx pinky-ui add double-tap-likePrefer to run the whole repository locally instead?
repository
git clone https://github.com/florash/Pinky-UI.git
cd Pinky-UI
npm install
npm run devAccessibility
- Every gesture has a labelled button or keyboard path, and primary controls meet a 44px touch target.
- State remains readable without relying on colour or motion.
Performance
- Interaction state is local and bounded; gesture updates do not require a page-wide render loop.
- Timers and listeners are cleaned up on unmount.
Reduced motion
The same state change resolves immediately; travel, scale and spring motion are removed without removing the interaction.
When to use
- Touch-first product surfaces where the next action should stay close to the hand.
When not to use
- Desktop-only workflows or interactions whose gesture would hide the only available action.