fix: 刷新页面后恢复滑动进度,防止重复 swipe
服务端 GET room 返回 swipeCounts,前端据此恢复 currentIndex、 swipeHistory 和引导状态;swipe API 增加幂等性检查,跳过已滑过的卡片。
This commit is contained in:
@@ -15,7 +15,7 @@ export default function RoomPage() {
|
||||
const [joined, setJoined] = useState(false);
|
||||
|
||||
const {
|
||||
userCount, match, matchType, matchLikes, likeCounts, restaurants, mutate,
|
||||
userCount, match, matchType, matchLikes, likeCounts, swipeCounts, restaurants, mutate,
|
||||
} = useRoomPolling(roomId);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -34,6 +34,7 @@ export default function RoomPage() {
|
||||
await mutate();
|
||||
}, [roomId, mutate]);
|
||||
|
||||
const initialIndex = swipeCounts[userId] ?? 0;
|
||||
const ready = joined && userId && restaurants.length > 0;
|
||||
|
||||
if (!ready) {
|
||||
@@ -52,6 +53,7 @@ export default function RoomPage() {
|
||||
restaurants={restaurants}
|
||||
roomId={roomId}
|
||||
userId={userId}
|
||||
initialIndex={initialIndex}
|
||||
matchedRestaurantId={match}
|
||||
matchType={matchType}
|
||||
matchLikes={matchLikes}
|
||||
|
||||
Reference in New Issue
Block a user