From 7e39b077d1c114ca90fa16e3cb705b9151b77f3a Mon Sep 17 00:00:00 2001 From: Matthew Grotke Date: Sat, 23 May 2026 23:55:58 -0400 Subject: [PATCH] Development --- docker/routlin-dash/app/view_page.py | 5 ++++- docker/routlin-dash/data/page_content.json | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/routlin-dash/app/view_page.py b/docker/routlin-dash/app/view_page.py index 6b5169e..9c1575b 100644 --- a/docker/routlin-dash/app/view_page.py +++ b/docker/routlin-dash/app/view_page.py @@ -325,7 +325,7 @@ def _config_datasource(name): row = dict(p) ptype = p.get('provider', '').lower() if ptype == 'noip': - row['credentials'] = f"U: {p.get('username', '-')}" + row['credentials'] = f'U: {e(p.get("username", "-"))}
P: •••' elif ptype in ('cloudflare', 'duckdns'): tok = p.get('api_token', '') row['credentials'] = f'API Token: {tok[:8]}...' if tok else '(not set)' @@ -1389,6 +1389,9 @@ def _render_table_cell(value, render_fn, col_class='', field='', row_idx=None, cls = badges.get(value.lower(), 'badge-disabled') return f'{td_open}{e(value.title())}' + if render_fn == 'raw_html': + return f'{td_open}{value}' + if render_fn == 'tag_list': try: items = json.loads(value) if value.startswith('[') else [s.strip() for s in value.split(',')] diff --git a/docker/routlin-dash/data/page_content.json b/docker/routlin-dash/data/page_content.json index bec6dd1..d0b20fd 100644 --- a/docker/routlin-dash/data/page_content.json +++ b/docker/routlin-dash/data/page_content.json @@ -354,7 +354,8 @@ }, { "label": "Credentials", - "field": "credentials" + "field": "credentials", + "render": "raw_html" } ], "row_actions": [