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'
' 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",