Browse Source

feat: disable auto-scroll on ios device

Yifei Zhang 2 năm trước cách đây
mục cha
commit
caec01269a
2 tập tin đã thay đổi với 8 bổ sung4 xóa
  1. 3 4
      app/components/home.tsx
  2. 5 0
      app/utils.ts

+ 3 - 4
app/components/home.tsx

@@ -29,7 +29,7 @@ import DownloadIcon from "../icons/download.svg";
 import { Message, SubmitKey, useChatStore, Theme } from "../store";
 import { Settings } from "./settings";
 import { showModal } from "./ui-lib";
-import { copyToClipboard, downloadAs } from "../utils";
+import { copyToClipboard, downloadAs, isIOS } from "../utils";
 
 export function Markdown(props: { content: string }) {
   return (
@@ -177,9 +177,8 @@ export function Chat(props: { showSideBar?: () => void }) {
     );
 
   useEffect(() => {
-    const dom = latestMessageRef.current;
-    const rect = dom?.getBoundingClientRect();
-    if (dom && rect && rect?.top >= document.documentElement.clientHeight - 120) {
+    const dom = latestMessageRef.current
+    if (dom && !isIOS()) {
       dom.scrollIntoView({
         behavior: "smooth",
         block: "end"

+ 5 - 0
app/utils.ts

@@ -29,4 +29,9 @@ export function downloadAs(text: string, filename: string) {
   element.click();
 
   document.body.removeChild(element);
+}
+
+export function isIOS() {
+  const userAgent = navigator.userAgent.toLowerCase();
+  return /iphone|ipad|ipod/.test(userAgent);
 }