35 lines
1.1 KiB
Elixir
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
|