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())
|
scrollCache.persist(streamElement())
|
||||||
}}
|
}}
|
||||||
onMouseUp={() => handleStreamMouseUp()}
|
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) => {
|
onActiveKeyChange={(messageId) => {
|
||||||
if (!messageId) return
|
if (!messageId) return
|
||||||
const firstSeg = timelineSegments().find((s) => s.messageId === messageId)
|
const firstSeg = timelineSegments().find((s) => s.messageId === messageId)
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ export interface VirtualFollowListProps<T> {
|
|||||||
*/
|
*/
|
||||||
onScroll?: () => void
|
onScroll?: () => void
|
||||||
onMouseUp?: (event: MouseEvent) => void
|
onMouseUp?: (event: MouseEvent) => void
|
||||||
|
onClick?: (event: MouseEvent) => void
|
||||||
onActiveKeyChange?: (key: string | null) => void
|
onActiveKeyChange?: (key: string | null) => void
|
||||||
registerApi?: (api: VirtualFollowListApi) => void
|
registerApi?: (api: VirtualFollowListApi) => void
|
||||||
registerState?: (state: VirtualFollowListState) => void
|
registerState?: (state: VirtualFollowListState) => void
|
||||||
@@ -872,6 +873,7 @@ export default function VirtualFollowList<T>(props: VirtualFollowListProps<T>) {
|
|||||||
ref={setContainerRef}
|
ref={setContainerRef}
|
||||||
onScroll={handleScroll}
|
onScroll={handleScroll}
|
||||||
onMouseUp={(event) => props.onMouseUp?.(event)}
|
onMouseUp={(event) => props.onMouseUp?.(event)}
|
||||||
|
onClick={(event) => props.onClick?.(event)}
|
||||||
>
|
>
|
||||||
<div ref={setTopSentinel} aria-hidden="true" style={{ height: "1px" }} />
|
<div ref={setTopSentinel} aria-hidden="true" style={{ height: "1px" }} />
|
||||||
{props.renderBeforeItems?.()}
|
{props.renderBeforeItems?.()}
|
||||||
|
|||||||
Reference in New Issue
Block a user