fix(ui): clear timeline selection on stream click

This commit is contained in:
Shantur Rathore
2026-03-03 23:00:44 +00:00
parent 3dae143830
commit 3719dcecf8
2 changed files with 8 additions and 0 deletions

View File

@@ -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)

View File

@@ -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?.()}