defmodule CMSWeb.AdminMode do @moduledoc false use CMSWeb, :live_view def admin_mode(%Plug.Conn{} = conn, _opts) do Plug.Conn.assign(conn, :admin?, admin?(conn)) end def on_mount(:default, _params, session, socket) do {:cont, assign(socket, :admin?, admin?(session))} end defp admin?(%Plug.Conn{} = conn) do Plug.Conn.get_session(conn, :admin?, false) == true end defp admin?(%{} = session), do: Map.get(session, :admin?, false) == true end