react-tinder-swipe
Version:
Its a swipe game like tinder or other dating aplication.wher by swiping it right or left you can accept or reject the user
87 lines (74 loc) • 2.27 kB
Markdown
# 🔥 react-tinder-swipe
A reusable Tinder-style swipe card stack built with React and Framer Motion. Easily implement swipe-left/swipe-right cards in any application like dating, product selectors, or quiz interfaces.
---
## ✨ Features
- 🧲 Drag cards left/right with physics-based animations
- 🧩 Fully customizable card UI via `renderCard` prop
- 🔄 Swipe via gestures or programmatically
- 🔊 Optional audio support on swipe
- 🎯 Swipe callbacks with direction
- 💅 Easily style with CSS-in-JS or your favorite styling method
---
## 📦 Installation
```bash
npm install react-tinder-swipe
# or
yarn add react-tinder-swipe
## ⚙️ Usage
import { TinderCardStack } from 'react-tinder-swipe';
const cardData = [
{ id: 1, name: "Alice", image: "/images/alice.jpg" },
{ id: 2, name: "Bob", image: "/images/bob.jpg" },
{ id: 3, name: "Charlie", image: "/images/charlie.jpg" },
];
const App = () => {
return (
<TinderCardStack
cards={cardData}
renderCard={(card) => (
<div
style={{
backgroundImage: `url(${card.image})`,
backgroundSize: "cover",
backgroundPosition: "center",
borderRadius: 16,
height: "100%",
display: "flex",
alignItems: "flex-end",
color: "#fff",
fontSize: 24,
padding: 20,
fontWeight: "bold",
}}
>
{card.name}
</div>
)}
onSwipe={(id, direction) => {
console.log(`Swiped card ${id} to the ${direction}`);
}}
renderButtons={(swipe, direction) => (
<div style={{ display: "flex", justifyContent: "center", gap: 20 }}>
<button
style={{
padding: "10px 20px",
background: direction === "left" ? "#ff6666" : "#eee",
}}
onClick={() => swipe("left")}
>
❌ Dislike
</button>
<button
style={{
padding: "10px 20px",
background: direction === "right" ? "#66ff66" : "#eee",
}}
onClick={() => swipe("right")}
>
❤️ Like
</button>
</div>
)}
/>
);
};