From 5dee2ae0beea1e749b54494b845bd9a9d590172f Mon Sep 17 00:00:00 2001 From: jamey Date: Thu, 5 Mar 2026 09:40:35 +0000 Subject: [PATCH] fix email settings: hidden attr for no-CSS, block-level card labels Non-selected adapter configs now get HTML hidden attribute so only the active config shows without CSS. Provider card labels use div instead of span for natural block stacking in text-only rendering. Co-Authored-By: Claude Opus 4.6 --- lib/berrypod_web/live/admin/email_settings.ex | 14 ++++++++------ .../live/admin/email_settings_test.exs | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/lib/berrypod_web/live/admin/email_settings.ex b/lib/berrypod_web/live/admin/email_settings.ex index 236cbe0..9ef0c19 100644 --- a/lib/berrypod_web/live/admin/email_settings.ex +++ b/lib/berrypod_web/live/admin/email_settings.ex @@ -221,10 +221,11 @@ defmodule BerrypodWeb.Admin.EmailSettings do - <%!-- Steps 2 & 3 for each adapter (CSS :has(:checked) shows the active one) --%> + <%!-- Steps 2 & 3: config for each adapter (hidden keeps HTML correct without CSS) --%> <.adapter_config :for={adapter <- @all_adapters} adapter={adapter} + selected={@adapter_key == adapter.key} values={@all_values[adapter.key] || %{}} field_errors={if(@adapter_key == adapter.key, do: @field_errors, else: %{})} env_locked={@env_locked} @@ -346,13 +347,14 @@ defmodule BerrypodWeb.Admin.EmailSettings do # ── Local components ── attr :adapter, :map, required: true + attr :selected, :boolean, default: false attr :values, :map, required: true attr :field_errors, :map, required: true attr :env_locked, :boolean, required: true defp adapter_config(assigns) do ~H""" -
+