defmodule CanneryWeb.HomeLive do @moduledoc """ Liveview for the home page """ use CanneryWeb, :live_view alias Cannery.Accounts alias CanneryWeb.Endpoint @version Mix.Project.config()[:version] @impl true def mount(_params, _session, socket) do admins = Accounts.list_users_by_role(:admin) socket = socket |> assign(page_title: gettext("Home"), admins: admins, version: @version) {:ok, socket} end @impl true def render(assigns) do ~H"""
<%= gettext( "%{name} lets you easily keep an eye on your ammo levels before and after range day", name: "Cannery" ) %>
<%= gettext("Self-host your own instance, or use an instance from someone you trust.") %> <%= gettext("Your data stays with you, period") %>
<%= gettext("Access from any internet-capable device") %>
<%= if @admins |> Enum.empty?() do %> <.link href={Routes.user_registration_path(CanneryWeb.Endpoint, :new)} class="hover:underline" > <%= dgettext("prompts", "Register to setup %{name}", name: "Cannery") %> <% else %>
<%= Application.get_env(:cannery, CanneryWeb.Endpoint)[:registration] |> case do "public" -> gettext("Public Signups") _ -> gettext("Invite Only") end %>
<%= @version %>
<%= gettext("View the source code") %>
<%= gettext("Help translate") %>
<%= gettext("Report bugs or request features") %>