{% endmacro %}
+
+{# Block form of config_field: lets the caller write the value as a Jinja
+ template body, which keeps auto-escaping active for interpolated values. #}
+{% macro config_field_block(label, editable=False) %}
+
+
{{ label }}
+
{{ caller() }}
+
+{% endmacro %}
+
+{# Console form — used by both the inline tab and the modal. The transcript
+ ID differs per location to keep HTMX swaps independent. #}
+{% macro console_form(server, transcript_id) %}
+
+{% endmacro %}
diff --git a/l4d2web/l4d2web/templates/server_detail.html b/l4d2web/l4d2web/templates/server_detail.html
index c567a65..78094fc 100644
--- a/l4d2web/l4d2web/templates/server_detail.html
+++ b/l4d2web/l4d2web/templates/server_detail.html
@@ -18,35 +18,33 @@
hx-trigger="load, every 5s"
hx-swap="innerHTML">
- {# Config grid — flat auto-fit; uses config_field macro from _macros.html #}
+ {# Config grid — flat auto-fit; uses config_field_block macro from _macros.html #}