Card Reader Verify, animated React component
An ID check you do by hand. Drag the card into the reader: the light strip sweeps, the display runs each check, and the card springs back out with a Verified stamp. Insert it flipped and the reader shakes and rejects it. Drag with a mouse or finger, or use the keyboard buttons, in a 3D canvas card that needs only Framer Motion.
- Pro
- Inputs & Controls
- Spring
- 3D
Clicks when you pick up the card, slides and clicks as it seats in the reader, sweeps while it scans, ticks as each check completes, then chimes access granted and thumps as the Verified stamp lands; a flipped card gets two low buzzes and a shake. Sound is off on this site until you switch it on.
Play with it
Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.
Verify identity
Ada Lovelace · Analyst
Drag the card into the slot, or press Insert card. Double-click the card to flip it.
Props
| Prop | Type | Default | What it does |
|---|---|---|---|
| autoplay | boolean | false | Plays itself with a ghost pointer until the visitor touches it. Off by default, so a copied component reacts only to the visitor. Never runs under reduced motion. |
| className | string | — | Extra classes for the outer card. |
| enableSound | boolean | true | Plays interface sounds on interaction. They follow the sound switch (setSoundsEnabled, on by default) and stay silent on hover. Autoplay makes the same sounds once the visitor has used the page. Pass false to silence this component. |
Card Reader Verify questions
Does it make sound, and how do I turn it off?
Clicks when you pick up the card, slides and clicks as it seats in the reader, sweeps while it scans, ticks as each check completes, then chimes access granted and thumps as the Verified stamp lands; a flipped card gets two low buzzes and a shake. Sounds are synthesised with the Web Audio API, so there are no audio files, and they only play after a click or key press. Pass `enableSound={false}` to silence this component, or call `setSoundsEnabled(false)` from `@/lib/ui-sounds` to switch every sound off at once. The CLI installs `@/lib/ui-sounds` with the component.