From 8eeae4896481aab2d69c81fd82acf52ff45fb9d0 Mon Sep 17 00:00:00 2001 From: Andreas Wrede Date: Fri, 10 Jul 2026 08:08:58 -0400 Subject: [PATCH] feat: unified record-row redesign of the settings page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One idiom for every section: mono identifier, badges, fact chips, inline accordion editor. Scalar config sections merge into one grouped 'server' section. Sidebar becomes YAML-key nav (mobile: horizontal chips); sticky toolbar carries pending-changes state and Publish. Staging, publish, channel CRUD, and permission gating are unchanged — same payload shapes and endpoints. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01NfPpSpccTWBfZg1FTveyaU --- hbd/server/templates/settings.html | 2622 +++++++++++++--------------- 1 file changed, 1193 insertions(+), 1429 deletions(-) diff --git a/hbd/server/templates/settings.html b/hbd/server/templates/settings.html index 390da3e..a51838c 100644 --- a/hbd/server/templates/settings.html +++ b/hbd/server/templates/settings.html @@ -3,943 +3,686 @@ {% include 'head.html' %} {%- macro mpick(all_items, sel, cls) -%} -
{%- if sel -%}{%- for v in sel[:2] -%}{{ v | e }}{%- endfor -%}{%- if sel|length > 2 %}+{{ sel|length - 2 }}{%- endif -%}{%- else -%}(none){%- endif -%}
+
{%- if sel -%}{%- for v in sel -%}{{ v | e }}{%- endfor -%}{%- else -%}(none — click to pick){%- endif -%}
{%- endmacro %} {% include 'nav.html' %} -
-

Settings

-

Edit server configuration — changes are staged until you publish them to .hb.yaml.

+ {% set is_admin = not current_user or current_user.admin %} + {% set by_id = {} %} + {% for s in sections %}{% if by_id.update({s.id: s}) %}{% endif %}{% endfor %} + {% set entity_order = ['hosts', 'channels', 'thresholds', 'users', 'oauth'] %} + {% set server_group = sections | rejectattr('id', 'in', entity_order) | list %} - - + +
+ hbd·settings + changes are staged until you publish them to .hb.yaml + + 0 unpublished change(s) + + + {% if is_admin %} + + {% endif %} +
+ - -