shift73k/lib/shift73k_web/views/layout_view.ex

35 lines
1.1 KiB
Elixir

defmodule Shift73kWeb.LayoutView do
use Shift73kWeb, :view
import Shift73k, only: [get_app_allow_reg: 0]
alias Shift73k.Repo
alias Shift73k.Accounts.User
alias Shift73kWeb.Roles
# With a Vite.js-based workflow, we will import different asset files in development
# and in production builds. Therefore, we will need a way to conditionally render
# <script> tags based on Mix environment. However, since Mix is not available in
# releases, we need to cache the Mix environment at compile time. To this end:
@env Mix.env() # remember value at compile time
def dev_env?, do: @env == :dev
def allow_registration, do: get_app_allow_reg()
def nav_link_opts(conn, opts) do
case Keyword.get(opts, :to) == Phoenix.Controller.current_path(conn) do
false -> opts
true -> Keyword.update(opts, :class, "active", fn c -> "#{c} active" end)
end
end
def alert_kinds do
[
success: "alert-success",
info: "alert-info",
error: "alert-danger",
warning: "alert-warning",
primary: "alert-primary",
secondary: "alert-secondary"
]
end
end