ProUnlock everything for $49.99 a year, or $79.99 once. See plans ›

Nexus UI

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

Ready for a card

Drag the card into the slot, or press Insert card. Double-click the card to flip it.

Props

PropTypeDefaultWhat it does
autoplayfalsePlays 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—Extra classes for the outer card.
enableSoundtruePlays 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.