defmodule MvWeb.AuthOverrides do @moduledoc """ UI customizations for AshAuthentication Phoenix components. ## Overrides - `SignIn` - Restricts form width and hides the library banner (title is rendered in SignInLive) - `Banner` - Replaces default logo with text for reset/confirm pages - `Flash` - Hides library flash (we use flash_group in root layout) ## Documentation For complete reference on available overrides, see: https://hexdocs.pm/ash_authentication_phoenix/ui-overrides.html """ use AshAuthentication.Phoenix.Overrides # Avoid full-width for the Sign In Form. # Banner is hidden because SignInLive renders its own locale-aware title. override AshAuthentication.Phoenix.Components.SignIn do set :root_class, "md:min-w-md" set :show_banner, false end # Replace banner logo with text for reset/confirm pages (no image so link has discernible text). override AshAuthentication.Phoenix.Components.Banner do set :text, "Mitgliederverwaltung" set :image_url, nil set :dark_image_url, nil end # Hide AshAuthentication's Flash component since we use flash_group in root layout. # This prevents duplicate flash messages. override AshAuthentication.Phoenix.Components.Flash do set :message_class_info, "hidden" set :message_class_error, "hidden" end end defmodule MvWeb.AuthOverridesRegistrationDisabled do @moduledoc """ When direct registration is disabled in global settings, this override is prepended in SignInLive so the Password component hides the "Need an account?" toggle (register_toggle_text: nil disables the register link per library docs). """ use AshAuthentication.Phoenix.Overrides override AshAuthentication.Phoenix.Components.Password do set :register_toggle_text, nil end end defmodule MvWeb.AuthOverridesDE do @moduledoc """ German locale-specific overrides for AshAuthentication Phoenix components. Prepended to the overrides list in SignInLive when the locale is "de". Provides runtime-static German text for components that do not use the `_gettext` mechanism (e.g. HorizontalRule renders its text directly), and for submit buttons whose disable_text bypasses the POT extraction pipeline. """ use AshAuthentication.Phoenix.Overrides # HorizontalRule renders text without `_gettext`, so we need a static German string. override AshAuthentication.Phoenix.Components.HorizontalRule do set :text, "oder" end # Registering ... disable-text is passed through _gettext but "Registering ..." # has no dgettext source reference, so we supply the German string directly. override AshAuthentication.Phoenix.Components.Password.RegisterForm do set :disable_button_text, "Registrieren..." end end