diff --git a/components/VideoCard.tsx b/components/VideoCard.tsx
index b229c06..555c5f9 100644
--- a/components/VideoCard.tsx
+++ b/components/VideoCard.tsx
@@ -48,7 +48,7 @@ export function VideoCard({ item, position, active, muted, playing, reaction, co
}} />
{item.label}{item.subtitle}THE LITTLE THINGS. THE BIG FEELINGS.
{active && !playing && !failed && }
- {hearts.map(heart => setHearts(previous => previous.filter(h => h.id !== heart.id))}>)}
+ {hearts.map(heart => { if (event.target === event.currentTarget) setHearts(previous => previous.filter(h => h.id !== heart.id)); }}>)}
{failed && 视频暂时无法加载
}
{item.location}·精选风景
@{item.author}
diff --git a/pages/index.tsx b/pages/index.tsx
index 395e817..7cac189 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -139,9 +139,10 @@ export default function Feed() {
{panel &&
event.stopPropagation()}>
- { sheetGesture.current = { startY: event.clientY, dy: 0 }; event.currentTarget.setPointerCapture(event.pointerId); }}
+
{ sheetGesture.current = { startY: event.clientY, dy: 0 }; if (drawer.current) drawer.current.style.transition = 'none'; event.currentTarget.setPointerCapture(event.pointerId); }}
onPointerMove={event => { if (!sheetGesture.current || !drawer.current) return; const dy = Math.max(0, event.clientY - sheetGesture.current.startY); sheetGesture.current.dy = dy; drawer.current.style.transform = `translateY(${dy}px)`; }}
- onPointerUp={() => { if (!sheetGesture.current || !drawer.current) return; if (sheetGesture.current.dy > 90) closePanel(); drawer.current.style.transform = ''; sheetGesture.current = null; }}>
+ onPointerUp={() => { if (!sheetGesture.current || !drawer.current) return; drawer.current.style.transition = ''; if (sheetGesture.current.dy > 90) closePanel(); else drawer.current.style.transform = ''; sheetGesture.current = null; }}
+ onPointerCancel={() => { if (drawer.current) { drawer.current.style.transition = ''; drawer.current.style.transform = ''; } sheetGesture.current = null; }}>
{panel === 'comments' ? `评论 · ${item.comments + (comments[item.id]?.length || 0)}` : panel === 'search' ? '发现好瞬间' : '分享这一刻'}
{panel === 'comments' ? <>
演示评论 · 新评论仅在本次浏览中保留