pull version number from config

This commit is contained in:
2022-11-19 10:31:13 -05:00
parent ba5a4e69b2
commit 60462877c5
14 changed files with 162 additions and 153 deletions

View File

@ -7,32 +7,15 @@ defmodule CanneryWeb.HomeLive do
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: "Home", query: "", results: %{}, admins: admins)
socket = socket |> assign(page_title: gettext("Home"), admins: admins, version: @version)
{:ok, socket}
end
@impl true
def handle_event("suggest", %{"q" => query}, socket) do
{:noreply, socket |> assign(results: search(query), query: query)}
end
@impl true
def handle_event("search", %{"q" => query}, socket) do
case search(query) do
%{^query => vsn} ->
{:noreply, redirect(socket, external: "https://hexdocs.pm/#{query}/#{vsn}")}
_no_query ->
{:noreply,
socket
|> put_flash(:error, "No dependencies found matching \"#{query}\"")
|> assign(results: %{}, query: query)}
end
end
@impl true
def render(assigns) do
~H"""
@ -138,7 +121,9 @@ defmodule CanneryWeb.HomeLive do
target="_blank"
rel="noopener noreferrer"
>
<p>0.7.1</p>
<p>
<%= @version %>
</p>
<i class="fas fa-md fa-info-circle"></i>
</.link>
</li>
@ -188,16 +173,4 @@ defmodule CanneryWeb.HomeLive do
</div>
"""
end
defp search(query) do
if not CanneryWeb.Endpoint.config(:code_reloader) do
raise "action disabled when not in development"
end
for {app, desc, vsn} <- Application.started_applications(),
app = to_string(app),
String.starts_with?(app, query) and not List.starts_with?(desc, ~c"ERTS"),
into: %{},
do: {app, vsn}
end
end