diff --git a/website/src/repl/components/panel/ConsoleTab.jsx b/website/src/repl/components/panel/ConsoleTab.jsx index 64981937f..54a8ff549 100644 --- a/website/src/repl/components/panel/ConsoleTab.jsx +++ b/website/src/repl/components/panel/ConsoleTab.jsx @@ -2,13 +2,21 @@ import cx from '@src/cx.mjs'; import { useSettings } from '../../../settings.mjs'; import { useStore } from '@nanostores/react'; import { $strudel_log_history } from '../useLogger'; +import { useEffect, useRef } from 'react'; export function ConsoleTab() { const log = useStore($strudel_log_history); const { fontFamily } = useSettings(); + const scrollRef = useRef(); + // scroll to bottom when log changes + useEffect(() => { + if (scrollRef.current) { + scrollRef.current.scrollTop = scrollRef.current.scrollHeight; + } + }, [log]); return (
-
+
{' '} {/* bg-background */} {log.map((l, i) => { @@ -18,12 +26,13 @@ export function ConsoleTab() {
- + {l.count ? ` (${l.count})` : ''}
); diff --git a/website/src/repl/components/useLogger.jsx b/website/src/repl/components/useLogger.jsx index fdd56606d..4a87ac075 100644 --- a/website/src/repl/components/useLogger.jsx +++ b/website/src/repl/components/useLogger.jsx @@ -21,7 +21,7 @@ function getUpdatedLog(log, event) { } else { log = log.concat([{ message, type, id, data }]); } - return log.slice(-20); + return log.slice(-40); } export function useLogger() {