feat: 增加滑动参与感 - 进度条、实时气泡、热度标签

- 卡片上方显示滑动进度条和计数 (3/15)
- 轮询检测到当前卡片新增 like 时弹出"有人也想去这家!"气泡
- 卡片图片角落显示"🔥N 人想去"热度标签
- 后端 GET /api/room/[id] 新增 likeCounts 字段
This commit is contained in:
2026-02-24 17:36:04 +08:00
parent a72f7ed884
commit fb49e21eb2
7 changed files with 94 additions and 11 deletions
+3 -1
View File
@@ -21,6 +21,7 @@ interface SwipeableCardProps {
isTop: boolean;
onSwipe: (direction: SwipeDirection) => void;
registerSwipe?: (fn: (direction: SwipeDirection) => void) => void;
likeCount: number;
}
function SwipeOverlay({ x }: { x: MotionValue<number> }) {
@@ -54,6 +55,7 @@ export default function SwipeableCard({
isTop,
onSwipe,
registerSwipe,
likeCount,
}: SwipeableCardProps) {
const x = useMotionValue(0);
const rotate = useTransform(x, [-300, 300], [-ROTATION_RANGE, ROTATION_RANGE]);
@@ -108,7 +110,7 @@ export default function SwipeableCard({
transition={{ type: "spring", stiffness: 300, damping: 25 }}
>
<SwipeOverlay x={x} />
<RestaurantCard restaurant={restaurant} />
<RestaurantCard restaurant={restaurant} likeCount={likeCount} />
</motion.div>
);
}