Skip to content
Native Animation
Review Approval Card animation preview

This preview uses fictional demo content. See the props below for the customization options available in this component.

npx nativeanimation add review-approval-card

Review Approval Card

A moderation queue with swipe-to-approve or decline feedback, with configurable reviews, labels, colors, and fonts.

$9 for this animation

Add to your project

Copy the component and its assets into your app with the Native Animation CLI, or paste the agent prompt into Claude Code, Codex or Cursor once the MCP server is connected.

About this animation

A moderation queue with swipe-to-approve or decline feedback, with configurable reviews, labels, colors, and fonts.

How it works

  1. A single horizontal shared value drives card travel, tilt, stamp visibility, and button emphasis.
  2. A pan gesture follows the finger and springs back when released before the decision threshold.
  3. A decisive swipe or tap sends the card away and advances the queue.
  4. The last decision reveals an accessible empty state with a reset action.

Install

npx expo install expo-image react-native-gesture-handler react-native-reanimated react-native-worklets

Usage

const ref = useRef<ReviewApprovalCardRef>(null);
<ReviewApprovalCard ref={ref} reviews={reviews} onApprove={(id) => save(id)} />

Props

PropTypeDefaultDescription
reviewsReviewApprovalItem[]requiredOrdered moderation queue.
titlestringReview DetailsHeader title.
labelsPartial<ReviewApprovalCardLabels>English defaultsButton, stamp, author, and empty state copy.
colorsPartial<ReviewApprovalCardColors>Reference paletteScreen and card palette.
fontFamilystringsystemRegular text face.
mediumFontFamilystringsystemMedium text face.
boldFontFamilystringsystemBold text face.
onApprove(id: string) => void—Called after approval.
onDecline(id: string) => void—Called after decline.
onBack() => void—Back action.
styleStyleProp<ViewStyle>—Root container style.
testIDstringreview-approval-cardStable test identifier.

The ref exposes approve(), decline(), and reset().

Compatibility

Expo SDK 58, React Native 0.88, and Reanimated 4.7.1. Supports iOS, Android, and web. Expo Go supports the included modules.

Accessibility

Action controls expose button roles and labels. Reduced motion removes rotation and the long card flight in favor of a short fade and displacement. The buttons provide a tap alternative to swiping.

Why this one

The card keeps the familiar, editorial review detail layout while making each decision visible before release. Gesture and button decisions share the same moderation flow.

Icons: Lucide (ISC). Demo portraits are generated fictional people and are not part of the component files.