some ai generated code from claude that does not work
This commit is contained in:
51
lib/mixer_web/components/auth_components.ex
Normal file
51
lib/mixer_web/components/auth_components.ex
Normal file
@@ -0,0 +1,51 @@
|
||||
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_register_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"""
|
||||
<div class="mt-2 mb-2">
|
||||
<label for={@field_id} class="block text-sm font-medium text-base-content mb-1">
|
||||
Username
|
||||
</label>
|
||||
<div class="flex">
|
||||
<span class="input rounded-r-none border-r-0 text-base-content/50 select-none">@</span>
|
||||
<input
|
||||
type="text"
|
||||
id={@field_id}
|
||||
name={@field_name}
|
||||
value={@field_value}
|
||||
class={"input w-full rounded-l-none #{if @field_errors != [], do: "input-error", else: ""}"}
|
||||
placeholder="your_handle"
|
||||
autocomplete="username"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<p :if={@field_errors != []} class="mt-1 text-xs text-error">
|
||||
{@field_errors |> List.first() |> elem(0)}
|
||||
</p>
|
||||
<p :if={@field_errors == []} class="mt-1 text-xs text-base-content/50">
|
||||
3–30 characters · letters, numbers, underscores
|
||||
</p>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user