Просмотр исходного кода

fix(app): snap to bottom on prompt

Adam 2 месяцев назад
Родитель
Сommit
ae2693425e

+ 3 - 0
packages/app/src/components/prompt-input.tsx

@@ -65,6 +65,7 @@ interface PromptInputProps {
   ref?: (el: HTMLDivElement) => void
   newSessionWorktree?: string
   onNewSessionWorktreeReset?: () => void
+  onSubmit?: () => void
 }
 
 const EXAMPLES = [
@@ -1110,6 +1111,8 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
     }
     if (!session) return
 
+    props.onSubmit?.()
+
     const model = {
       modelID: currentModel.id,
       providerID: currentModel.provider.id,

+ 6 - 0
packages/app/src/pages/session.tsx

@@ -909,6 +909,11 @@ export default function Page() {
     overflowAnchor: "dynamic",
   })
 
+  const resumeScroll = () => {
+    setStore("messageId", undefined)
+    autoScroll.forceScrollToBottom()
+  }
+
   // When the user returns to the bottom, treat the active message as "latest".
   createEffect(
     on(
@@ -1535,6 +1540,7 @@ export default function Page() {
                   }}
                   newSessionWorktree={newSessionWorktree()}
                   onNewSessionWorktreeReset={() => setStore("newSessionWorktree", "main")}
+                  onSubmit={resumeScroll}
                 />
               </Show>
             </div>