diff --git a/docker/routlin-dash/app/view_page.py b/docker/routlin-dash/app/view_page.py index 6eb8d23..6b5169e 100644 --- a/docker/routlin-dash/app/view_page.py +++ b/docker/routlin-dash/app/view_page.py @@ -905,8 +905,9 @@ def _render_item(item, tokens, inherited_req=None): return f'
{text}
' if t == 'pre_block': - text = e(apply_tokens(item.get('text', ''), tokens)) - return f'
{text}
' + text = e(apply_tokens(item.get('text', ''), tokens)) + extra = ' data-scroll-bottom' if item.get('scroll_to_bottom') else '' + return f'
{text}
' if t == 'credential_fields': psel = e(item.get('provider_select', 'provider')) @@ -2485,6 +2486,9 @@ function startApplyPoller(uuid, bar, mine) { }; macInput._triggerValidate(); })(); +document.querySelectorAll('.pre-block[data-scroll-bottom]').forEach(function(el) { + el.scrollTop = el.scrollHeight; +}); """ diff --git a/docker/routlin-dash/data/page_content.json b/docker/routlin-dash/data/page_content.json index 7a480cb..bec6dd1 100644 --- a/docker/routlin-dash/data/page_content.json +++ b/docker/routlin-dash/data/page_content.json @@ -458,7 +458,8 @@ "items": [ { "type": "pre_block", - "text": "%DDNS_LOG_TAIL%" + "text": "%DDNS_LOG_TAIL%", + "scroll_to_bottom": true }, { "type": "raw_html",