defmodule MixerWeb.AuthComponents do @moduledoc """ Extra components injected into AshAuthentication.Phoenix forms. """ use Phoenix.Component @doc """ Renders a username input field inside the password registration form. Receives `form` (an `AshPhoenix.Form`) as an assign via the `register_extra_component` override. """ def username_field(assigns) do field = assigns.form[:username] assigns = assigns |> assign(:field_id, field.id) |> assign(:field_name, field.name) |> assign(:field_value, field.value || "") |> assign(:field_errors, field.errors) ~H"""
@

{translate_error(error)}

""" end def translate_error({msg, opts}) do if count = opts[:count] do Gettext.dngettext(MixerWeb.Gettext, "errors", msg, msg, count, opts) else Gettext.dgettext(MixerWeb.Gettext, "errors", msg, opts) end end end