fix: H5端热门事件移除Tooltip避免黑色悬浮框无法消除

- 使用 useBreakpointValue 检测移动端设备
- H5端不显示标题和描述的 Tooltip 提示
- PC端保留 Tooltip 功能不变

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-04 14:38:14 +08:00
parent a569a63a85
commit 0edc6a5e00

View File

@@ -2,7 +2,7 @@
import React, { useState } from 'react';
import { Card, Badge, Tag, Empty, Carousel, Tooltip } from 'antd';
import { ArrowUpOutlined, ArrowDownOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons';
import { useDisclosure } from '@chakra-ui/react';
import { useDisclosure, useBreakpointValue } from '@chakra-ui/react';
import EventDetailModal from './EventDetailModal';
import dayjs from 'dayjs';
import './HotEvents.css';
@@ -31,6 +31,8 @@ const HotEvents = ({ events, onPageChange, onEventClick }) => {
const [currentSlide, setCurrentSlide] = useState(0);
const { isOpen: isModalOpen, onOpen: onModalOpen, onClose: onModalClose } = useDisclosure();
const [modalEvent, setModalEvent] = useState(null);
// H5 端不显示 Tooltip避免触摸触发后无法消除的黑色悬浮框
const isMobile = useBreakpointValue({ base: true, md: false });
const renderPriceChange = (value) => {
if (value === null || value === undefined) {
@@ -154,21 +156,33 @@ const HotEvents = ({ events, onPageChange, onEventClick }) => {
>
{/* Custom layout without Card.Meta */}
<div className="event-header">
<Tooltip title={event.title}>
{isMobile ? (
<span className="event-title">
{event.title}
</span>
</Tooltip>
) : (
<Tooltip title={event.title}>
<span className="event-title">
{event.title}
</span>
</Tooltip>
)}
<span className="event-tag">
{renderPriceChange(event.related_avg_chg)}
</span>
</div>
<Tooltip title={event.description}>
{isMobile ? (
<div className="event-description">
{event.description}
</div>
</Tooltip>
) : (
<Tooltip title={event.description}>
<div className="event-description">
{event.description}
</div>
</Tooltip>
)}
<div className="event-footer">
<span className="creator">{event.creator?.username || 'Anonymous'}</span>