update pay promo
This commit is contained in:
@@ -92,7 +92,7 @@ const EventHeaderInfo = ({ event, importance, isFollowing, followerCount, onTogg
|
|||||||
<ShareButton
|
<ShareButton
|
||||||
title={event.title}
|
title={event.title}
|
||||||
desc={event.description?.slice(0, 100) || ''}
|
desc={event.description?.slice(0, 100) || ''}
|
||||||
link={`${window.location.origin}/community?event=${event.id}`}
|
link={`${window.location.origin}/event-detail?id=${btoa(`ev-${event.id}`)}`}
|
||||||
imgUrl={`${window.location.origin}/logo192.png`}
|
imgUrl={`${window.location.origin}/logo192.png`}
|
||||||
variant="icon"
|
variant="icon"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|||||||
@@ -33,26 +33,6 @@ const EventDetailScrollPanel = ({
|
|||||||
pl={2}
|
pl={2}
|
||||||
position="relative"
|
position="relative"
|
||||||
data-detail-panel-container="true"
|
data-detail-panel-container="true"
|
||||||
sx={{
|
|
||||||
height: '100%',
|
|
||||||
overflowY: 'auto',
|
|
||||||
overflowX: 'hidden',
|
|
||||||
overscrollBehavior: 'contain',
|
|
||||||
'&::-webkit-scrollbar': {
|
|
||||||
width: '3px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-track': {
|
|
||||||
background: scrollbarTrackBg,
|
|
||||||
borderRadius: '10px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb': {
|
|
||||||
background: scrollbarThumbBg,
|
|
||||||
borderRadius: '10px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb:hover': {
|
|
||||||
background: scrollbarThumbHoverBg,
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
{selectedEvent ? (
|
{selectedEvent ? (
|
||||||
<DynamicNewsDetailPanel event={selectedEvent} showHeader={shouldShowHeader} />
|
<DynamicNewsDetailPanel event={selectedEvent} showHeader={shouldShowHeader} />
|
||||||
|
|||||||
@@ -81,35 +81,15 @@ const VerticalModeLayout = React.memo(({
|
|||||||
gap={gap}
|
gap={gap}
|
||||||
position="relative"
|
position="relative"
|
||||||
transition="all 0.3s ease-in-out"
|
transition="all 0.3s ease-in-out"
|
||||||
h={{ base: 'auto', lg: 'calc(100vh - 280px)' }}
|
|
||||||
minH={{ base: '500px', lg: '600px' }}
|
minH={{ base: '500px', lg: '600px' }}
|
||||||
overflow="hidden"
|
alignItems="flex-start"
|
||||||
>
|
>
|
||||||
{/* 左侧:事件列表 - 独立滚动 */}
|
{/* 左侧:事件列表 */}
|
||||||
<Box
|
<Box
|
||||||
flex={isMobile ? '1' : leftFlex}
|
flex={isMobile ? '1' : leftFlex}
|
||||||
minWidth={0}
|
minWidth={0}
|
||||||
w={isMobile ? '100%' : 'auto'}
|
w={isMobile ? '100%' : 'auto'}
|
||||||
overflowX="hidden"
|
|
||||||
overflowY="auto"
|
|
||||||
h="100%"
|
|
||||||
data-event-list-container="true"
|
data-event-list-container="true"
|
||||||
css={{
|
|
||||||
overscrollBehavior: 'contain',
|
|
||||||
'&::-webkit-scrollbar': {
|
|
||||||
width: '6px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-track': {
|
|
||||||
background: '#f1f1f1',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb': {
|
|
||||||
background: '#888',
|
|
||||||
borderRadius: '3px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb:hover': {
|
|
||||||
background: '#555',
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
{/* 事件列表 */}
|
{/* 事件列表 */}
|
||||||
{events && events.length > 0 ? (
|
{events && events.length > 0 ? (
|
||||||
@@ -162,30 +142,12 @@ const VerticalModeLayout = React.memo(({
|
|||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
{/* 右侧:事件详情 - 独立滚动 - 移动端隐藏 */}
|
{/* 右侧:事件详情 - 移动端隐藏 */}
|
||||||
{!isMobile && (
|
{!isMobile && (
|
||||||
<Box
|
<Box
|
||||||
flex={rightFlex}
|
flex={rightFlex}
|
||||||
minHeight={0}
|
minHeight={0}
|
||||||
position="relative"
|
position="relative"
|
||||||
overflow="auto"
|
|
||||||
h="100%"
|
|
||||||
css={{
|
|
||||||
overscrollBehavior: 'contain',
|
|
||||||
'&::-webkit-scrollbar': {
|
|
||||||
width: '6px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-track': {
|
|
||||||
background: 'transparent',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb': {
|
|
||||||
background: 'rgba(136, 136, 136, 0.5)',
|
|
||||||
borderRadius: '3px',
|
|
||||||
},
|
|
||||||
'&::-webkit-scrollbar-thumb:hover': {
|
|
||||||
background: 'rgba(136, 136, 136, 0.8)',
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
{/* 详情面板 */}
|
{/* 详情面板 */}
|
||||||
<EventDetailScrollPanel
|
<EventDetailScrollPanel
|
||||||
|
|||||||
@@ -101,7 +101,9 @@ const RelatedEventsModal = ({
|
|||||||
transition: "all 0.2s",
|
transition: "all 0.2s",
|
||||||
}}
|
}}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
window.open(`/community?event_id=${event.event_id}`, "_blank");
|
// 事件 ID 需要转换为 Base64 编码格式:ev-{id} -> Base64
|
||||||
|
const encodedId = btoa(`ev-${event.event_id}`);
|
||||||
|
window.open(`/event-detail?id=${encodedId}`, "_blank");
|
||||||
}}
|
}}
|
||||||
onMouseEnter={(e) => {
|
onMouseEnter={(e) => {
|
||||||
e.currentTarget.style.background = "rgba(40,40,70,0.9)";
|
e.currentTarget.style.background = "rgba(40,40,70,0.9)";
|
||||||
|
|||||||
@@ -54,7 +54,9 @@ const RelatedEventsModal: React.FC<RelatedEventsModalProps> = memo(
|
|||||||
const handleEventClick = useCallback(
|
const handleEventClick = useCallback(
|
||||||
(event: RelatedEvent) => {
|
(event: RelatedEvent) => {
|
||||||
onClose();
|
onClose();
|
||||||
navigate(`/community?event_id=${event.event_id}`);
|
// 事件 ID 需要转换为 Base64 编码格式:ev-{id} -> Base64
|
||||||
|
const encodedId = btoa(`ev-${event.event_id}`);
|
||||||
|
navigate(`/event-detail?id=${encodedId}`);
|
||||||
},
|
},
|
||||||
[navigate, onClose]
|
[navigate, onClose]
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user