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": [