fix(ui): clear timeline selection on stream click
This commit is contained in:
@@ -1001,6 +1001,12 @@ export default function MessageSection(props: MessageSectionProps) {
|
||||
scrollCache.persist(streamElement())
|
||||
}}
|
||||
onMouseUp={() => handleStreamMouseUp()}
|
||||
onClick={(e) => {
|
||||
if (selectedTimelineIds().size === 0) return
|
||||
const target = e.target as HTMLElement
|
||||
if (target.closest("button, a, input, [role='button']")) return
|
||||
handleClearTimelineSelection()
|
||||
}}
|
||||
onActiveKeyChange={(messageId) => {
|
||||
if (!messageId) return
|
||||
const firstSeg = timelineSegments().find((s) => s.messageId === messageId)
|
||||
|
||||
@@ -114,6 +114,7 @@ export interface VirtualFollowListProps<T> {
|
||||
*/
|
||||
onScroll?: () => void
|
||||
onMouseUp?: (event: MouseEvent) => void
|
||||
onClick?: (event: MouseEvent) => void
|
||||
onActiveKeyChange?: (key: string | null) => void
|
||||
registerApi?: (api: VirtualFollowListApi) => void
|
||||
registerState?: (state: VirtualFollowListState) => void
|
||||
@@ -872,6 +873,7 @@ export default function VirtualFollowList<T>(props: VirtualFollowListProps<T>) {
|
||||
ref={setContainerRef}
|
||||
onScroll={handleScroll}
|
||||
onMouseUp={(event) => props.onMouseUp?.(event)}
|
||||
onClick={(event) => props.onClick?.(event)}
|
||||
>
|
||||
<div ref={setTopSentinel} aria-hidden="true" style={{ height: "1px" }} />
|
||||
{props.renderBeforeItems?.()}
|
||||
|
||||
Reference in New Issue
Block a user