diff options
| author | Adam <[email protected]> | 2025-12-27 20:40:25 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-27 20:40:25 -0600 |
| commit | 1b5bf32ce560f44dd558f3951121c3f4b0560e85 (patch) | |
| tree | 14a0f32dacd9deaf6bdd57bf5ccf03d6a9b8747e /packages/ui/src/hooks | |
| parent | 2e972b3fdc4b7f3ccb2224f693391a8f11572c3c (diff) | |
| download | opencode-1b5bf32ce560f44dd558f3951121c3f4b0560e85.tar.gz opencode-1b5bf32ce560f44dd558f3951121c3f4b0560e85.zip | |
chore: permissions ux
Diffstat (limited to 'packages/ui/src/hooks')
| -rw-r--r-- | packages/ui/src/hooks/create-auto-scroll.tsx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/ui/src/hooks/create-auto-scroll.tsx b/packages/ui/src/hooks/create-auto-scroll.tsx index e262b7c69..b780f47c6 100644 --- a/packages/ui/src/hooks/create-auto-scroll.tsx +++ b/packages/ui/src/hooks/create-auto-scroll.tsx @@ -35,6 +35,22 @@ export function createAutoScroll(options: AutoScrollOptions) { }) } + function forceScrollToBottom() { + if (!scrollRef) return + + setStore("userScrolled", false) + isAutoScrolling = true + if (autoScrollTimeout) clearTimeout(autoScrollTimeout) + autoScrollTimeout = setTimeout(() => { + isAutoScrolling = false + }, 1000) + + scrollRef.scrollTo({ + top: scrollRef.scrollHeight, + behavior: "smooth", + }) + } + function handleScroll() { if (!scrollRef) return @@ -161,6 +177,7 @@ export function createAutoScroll(options: AutoScrollOptions) { handleScroll, handleInteraction, scrollToBottom, + forceScrollToBottom, userScrolled: () => store.userScrolled, } } |
