39 lines
998 B
Elixir
39 lines
998 B
Elixir
defmodule Bones73kWeb.UserLive.Settings do
|
|
use Bones73kWeb, :live_view
|
|
|
|
alias Bones73k.Accounts.User
|
|
|
|
@impl true
|
|
def mount(_params, session, socket) do
|
|
socket
|
|
|> assign_defaults(session)
|
|
|> alert_email_verified?()
|
|
|> live_okreply()
|
|
end
|
|
|
|
defp alert_email_verified?(socket) do
|
|
case socket.assigns.current_user do
|
|
%{confirmed_at: nil} ->
|
|
put_flash(socket, :warning, [
|
|
"Your email hasn't been confirmed, some areas may be restricted. Shall we ",
|
|
link("resend the verification email?",
|
|
to: Routes.user_confirmation_path(socket, :new),
|
|
class: "alert-link"
|
|
)
|
|
])
|
|
|
|
_ ->
|
|
socket
|
|
end
|
|
end
|
|
|
|
@impl true
|
|
def handle_info({:put_flash_message, {flash_type, msg}}, socket) do
|
|
socket |> put_flash(flash_type, msg) |> live_noreply()
|
|
end
|
|
|
|
@impl true
|
|
def handle_info({:clear_flash_message, flash_type}, socket) do
|
|
socket |> clear_flash(flash_type) |> live_noreply()
|
|
end
|
|
end
|