diff --git a/src/js/components/Stream.tsx b/src/js/components/Stream.tsx index 2afafb8..211da4c 100644 --- a/src/js/components/Stream.tsx +++ b/src/js/components/Stream.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from "react"; +import React, { useEffect, useMemo, useRef } from "react"; import * as Quran from "lib/Quran"; import { AudioControl } from "components/AudioControl"; import { formatNumber, TFunction } from "lib/i18n"; @@ -26,37 +26,43 @@ export function Stream({ const className = classNames("body", "stream"); const style: React.CSSProperties = endOfStream || isPaused ? { overflowY: "auto" } : { overflowY: "hidden" }; - const ayat = stream.map((ayah: Quran.Ayah) => { - return ( -
{ayah.text}
-{ayah.text}
+ + ); + }); }, [stream.length]); + useEffect(() => { + const el = ul.current; + if (el) { + const top = el.scrollHeight + el.scrollTop; + el.scrollTo({ behavior: "smooth", top }); + el.scrollIntoView({ behavior: "smooth" }); + } + }, [ul.current, stream.length]); + return ( -