mirror of
https://github.com/MoonTechLab/LunaTV.git
synced 2026-02-14 11:44:43 +08:00
Revert "fix: video card button cannot click"
This reverts commit 5798a6c63b.
This commit is contained in:
@@ -583,7 +583,6 @@ const VideoCard = forwardRef<VideoCardHandle, VideoCardProps>(function VideoCard
|
||||
{config.showCheckCircle && (
|
||||
<Trash2
|
||||
onClick={handleDeleteRecord}
|
||||
data-role="button"
|
||||
size={20}
|
||||
className='text-white transition-all duration-300 ease-out hover:stroke-red-500 hover:scale-[1.1]'
|
||||
style={{
|
||||
@@ -600,7 +599,6 @@ const VideoCard = forwardRef<VideoCardHandle, VideoCardProps>(function VideoCard
|
||||
{config.showHeart && (
|
||||
<Heart
|
||||
onClick={handleToggleFavorite}
|
||||
data-role="button"
|
||||
size={20}
|
||||
className={`transition-all duration-300 ease-out ${favorited
|
||||
? 'fill-red-600 stroke-red-600'
|
||||
|
||||
@@ -31,19 +31,10 @@ export const useLongPress = ({
|
||||
}, []);
|
||||
|
||||
const handleStart = useCallback(
|
||||
(clientX: number, clientY: number, target?: EventTarget) => {
|
||||
(clientX: number, clientY: number) => {
|
||||
// 如果已经有活跃的手势,忽略新的开始
|
||||
if (isActive.current) return;
|
||||
|
||||
// 检查是否点击的是按钮元素
|
||||
if (target && target instanceof Element) {
|
||||
const isButton = target.closest('button, [role="button"], [data-role="button"], .cursor-pointer, svg, a');
|
||||
if (isButton) {
|
||||
// 如果点击的是按钮,不启动长按计时器
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
isActive.current = true;
|
||||
isLongPress.current = false;
|
||||
startPosition.current = { x: clientX, y: clientY };
|
||||
@@ -103,7 +94,7 @@ export const useLongPress = ({
|
||||
(e: React.TouchEvent) => {
|
||||
// 阻止默认的长按行为,但不阻止触摸开始事件
|
||||
const touch = e.touches[0];
|
||||
handleStart(touch.clientX, touch.clientY, e.target);
|
||||
handleStart(touch.clientX, touch.clientY);
|
||||
},
|
||||
[handleStart]
|
||||
);
|
||||
@@ -129,7 +120,7 @@ export const useLongPress = ({
|
||||
// 鼠标事件处理器(用于桌面端测试)
|
||||
const onMouseDown = useCallback(
|
||||
(e: React.MouseEvent) => {
|
||||
handleStart(e.clientX, e.clientY, e.target);
|
||||
handleStart(e.clientX, e.clientY);
|
||||
},
|
||||
[handleStart]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user