72 lines
2.7 KiB
Elixir
72 lines
2.7 KiB
Elixir
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
|