39 lines
1.1 KiB
Elixir
39 lines
1.1 KiB
Elixir
defmodule CMSWeb.AdminLoginLive do
|
|
@moduledoc false
|
|
use CMSWeb, :live_view
|
|
|
|
@impl true
|
|
def mount(params, _session, socket) do
|
|
socket = assign(socket, :form, to_form(%{"password" => "", "return_to" => params["return_to"]}))
|
|
|
|
{:ok, socket, layout: false}
|
|
end
|
|
|
|
@impl true
|
|
def render(assigns) do
|
|
~H"""
|
|
<main class="flex flex-col w-screen h-screen fixed justify-center items-center">
|
|
<.form for={@form} action={~p"/admin/session/create"} class="flex flex-col gap-y-2">
|
|
<input
|
|
type="hidden"
|
|
id={@form[:return_to].id}
|
|
name={@form[:return_to].name}
|
|
value={@form[:return_to].value}
|
|
/>
|
|
<input
|
|
type="password"
|
|
placeholder="password"
|
|
id={@form[:password].id}
|
|
name={@form[:password].name}
|
|
value={@form[:password].value}
|
|
required
|
|
/>
|
|
<div class="flex flex-col items-end">
|
|
<button type="submit" class="font-bold hover:underline">sign in</button>
|
|
<.link href={~p"/"} class="hover:underline">cancel</.link>
|
|
</div>
|
|
</.form>
|
|
</main>
|
|
"""
|
|
end
|
|
end
|