improve templates

This commit is contained in:
shibao 2023-02-04 09:16:51 -05:00 committed by oliviasculley
parent f19d024d8a
commit 7b60938a75
30 changed files with 743 additions and 473 deletions

View File

@ -48,11 +48,9 @@ defmodule LokalWeb.Components.InviteCard do
<%= render_slot(@code_actions) %> <%= render_slot(@code_actions) %>
</div> </div>
<%= if @inner_block do %> <div :if={@inner_block} class="flex space-x-4 justify-center items-center">
<div class="flex space-x-4 justify-center items-center">
<%= render_slot(@inner_block) %> <%= render_slot(@inner_block) %>
</div> </div>
<% end %>
</div> </div>
""" """
end end

View File

@ -33,10 +33,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<%= for values <- @rows do %> <tr :for={values <- @rows}>
<tr> <td :for={%{key: key} = value <- @columns} class={["p-2", value[:class]]}>
<%= for %{key: key} = value <- @columns do %>
<td class={["p-2", value[:class]]}>
<%= case values |> Map.get(key) do %> <%= case values |> Map.get(key) do %>
<% {_custom_sort_value, value} -> %> <% {_custom_sort_value, value} -> %>
<%= value %> <%= value %>
@ -44,9 +42,7 @@
<%= value %> <%= value %>
<% end %> <% end %>
</td> </td>
<% end %>
</tr> </tr>
<% end %>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -53,8 +53,7 @@ defmodule LokalWeb.Components.Topbar do
<% end %> <% end %>
</datalist> </datalist>
</form> </form>
<%= if @current_user.role == :admin do %> <li :if={@current_user.role == :admin} class="mx-2 my-1">
<li class="mx-2 my-1">
<.link <.link
navigate={Routes.invite_index_path(Endpoint, :index)} navigate={Routes.invite_index_path(Endpoint, :index)}
class="text-white text-white hover:underline" class="text-white text-white hover:underline"
@ -62,7 +61,6 @@ defmodule LokalWeb.Components.Topbar do
<%= gettext("Invites") %> <%= gettext("Invites") %>
</.link> </.link>
</li> </li>
<% end %>
<li class="mx-2 my-1"> <li class="mx-2 my-1">
<.link <.link
navigate={Routes.user_settings_path(Endpoint, :edit)} navigate={Routes.user_settings_path(Endpoint, :edit)}
@ -80,8 +78,12 @@ defmodule LokalWeb.Components.Topbar do
<i class="fas fa-sign-out-alt"></i> <i class="fas fa-sign-out-alt"></i>
</.link> </.link>
</li> </li>
<%= if @current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2) do %> <li
<li class="mx-2 my-1"> :if={
@current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2)
}
class="mx-2 my-1"
>
<.link <.link
navigate={Routes.live_dashboard_path(Endpoint, :home)} navigate={Routes.live_dashboard_path(Endpoint, :home)}
class="text-white text-white hover:underline" class="text-white text-white hover:underline"
@ -89,10 +91,8 @@ defmodule LokalWeb.Components.Topbar do
<i class="fas fa-gauge"></i> <i class="fas fa-gauge"></i>
</.link> </.link>
</li> </li>
<% end %>
<% else %> <% else %>
<%= if Accounts.allow_registration?() do %> <li :if={Accounts.allow_registration?()} class="mx-2 my-1">
<li class="mx-2 my-1">
<.link <.link
navigate={Routes.user_registration_path(Endpoint, :new)} navigate={Routes.user_registration_path(Endpoint, :new)}
class="text-white text-white hover:underline truncate" class="text-white text-white hover:underline truncate"
@ -100,7 +100,6 @@ defmodule LokalWeb.Components.Topbar do
<%= dgettext("actions", "Register") %> <%= dgettext("actions", "Register") %>
</.link> </.link>
</li> </li>
<% end %>
<li class="mx-2 my-1"> <li class="mx-2 my-1">
<.link <.link
navigate={Routes.user_session_path(Endpoint, :new)} navigate={Routes.user_session_path(Endpoint, :new)}

View File

@ -39,11 +39,9 @@ defmodule LokalWeb.Components.UserCard do
</p> </p>
</h3> </h3>
<%= if @inner_block do %> <div :if={@inner_block} class="px-4 py-2 flex space-x-4 justify-center items-center">
<div class="px-4 py-2 flex space-x-4 justify-center items-center">
<%= render_slot(@inner_block) %> <%= render_slot(@inner_block) %>
</div> </div>
<% end %>
</div> </div>
""" """
end end

View File

@ -1,43 +1,18 @@
defmodule LokalWeb.HomeLive do defmodule LokalWeb.HomeLive do
@moduledoc """ @moduledoc """
Liveview for the main home page Liveview for the home page
""" """
use LokalWeb, :live_view use LokalWeb, :live_view
alias Lokal.Accounts
alias LokalWeb.Endpoint
@version Mix.Project.config()[:version]
@impl true @impl true
def mount(_params, _session, socket) do def mount(_params, _session, socket) do
{:ok, socket |> assign(page_title: gettext("Home"), query: "", results: %{})} admins = Accounts.list_users_by_role(:admin)
end socket = socket |> assign(page_title: gettext("Home"), admins: admins, version: @version)
{:ok, socket}
@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, socket |> redirect(external: "https://hexdocs.pm/#{query}/#{vsn}")}
_ ->
{:noreply,
socket
|> put_flash(:error, "No dependencies found matching \"#{query}\"")
|> assign(results: %{}, query: query)}
end
end
defp search(query) do
if not LokalWeb.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
end end

View File

@ -1,9 +1,135 @@
<div class="flex flex-col justify-center items-center text-center space-y-4"> <div class="mx-auto px-8 sm:px-16 flex flex-col justify-center items-center text-center space-y-4 max-w-3xl">
<h1 class="title text-primary-500 text-2xl"> <h1 class="title text-primary-600 text-2xl">
<%= gettext("Welcome to Lokal") %> <%= gettext("Welcome to Lokal") %>
</h1> </h1>
<p class="title text-primary-500 text-lg"> <h2 class="title text-primary-600 text-lg">
<%= gettext("Shop from your community") %> <%= gettext("Shop from your local community") %>
</h2>
<hr class="hr" />
<ul class="flex flex-col space-y-4 text-center">
<li class="flex flex-col justify-center items-center
space-y-2">
<b class="whitespace-nowrap">
<%= gettext("Easy to Use:") %>
</b>
<p>
<%= gettext("Lokal lets you easily shop from your local community") %>
</p> </p>
</li>
<li class="flex flex-col justify-center items-center space-y-2">
<b class="whitespace-nowrap">
<%= gettext("Secure:") %>
</b>
<p>
<%= gettext("Self-host your own instance, or use an instance from someone you trust.") %>
<%= gettext("Your data stays with you, period") %>
</p>
</li>
<li class="flex flex-col justify-center items-center
space-y-2">
<b class="whitespace-nowrap">
<%= gettext("Simple:") %>
</b>
<p>
<%= gettext("Access from any internet-capable device") %>
</p>
</li>
</ul>
<hr class="hr" />
<ul class="flex flex-col space-y-2 text-center justify-center">
<h2 class="title text-primary-600 text-lg">
<%= gettext("Instance Information") %>
</h2>
<li class="flex flex-col justify-center space-x-2">
<b>
<%= gettext("Admins:") %>
</b>
<p>
<%= if @admins |> Enum.empty?() do %>
<.link href={Routes.user_registration_path(Endpoint, :new)} class="hover:underline">
<%= dgettext("prompts", "Register to setup Lokal") %>
</.link>
<% else %>
<div class="flex flex-wrap justify-center space-x-2">
<a :for={%{email: email} <- @admins} class="hover:underline" href={"mailto:#{email}"}>
<%= email %>
</a>
</div>
<% end %>
</p>
</li>
<li class="flex flex-row justify-center space-x-2">
<b><%= gettext("Registration:") %></b>
<p>
<%= case Application.get_env(:lokal, Lokal.Accounts)[:registration] do
"public" -> gettext("Public Signups")
_ -> gettext("Invite Only")
end %>
</p>
</li>
<li class="flex flex-row justify-center items-center space-x-2">
<b><%= gettext("Version:") %></b>
<.link
href="https://gitea.bubbletea.dev/shibao/lokal/src/branch/stable/CHANGELOG.md"
class="flex flex-row justify-center items-center space-x-2 hover:underline"
target="_blank"
rel="noopener noreferrer"
>
<p>
<%= @version %>
</p>
<i class="fas fa-md fa-info-circle"></i>
</.link>
</li>
</ul>
<hr class="hr" />
<ul class="flex flex-col space-y-2 text-center justify-center">
<h2 class="title text-primary-600 text-lg">
<%= gettext("Get involved!") %>
</h2>
<li class="flex flex-col justify-center space-x-2">
<.link
class="flex flex-row justify-center items-center space-x-2 hover:underline"
href="https://gitea.bubbletea.dev/shibao/lokal"
target="_blank"
rel="noopener noreferrer"
>
<p><%= gettext("View the source code") %></p>
<i class="fas fa-md fa-code"></i>
</.link>
</li>
<li class="flex flex-col justify-center space-x-2">
<.link
class="flex flex-row justify-center items-center space-x-2 hover:underline"
href="https://weblate.bubbletea.dev/engage/lokal"
target="_blank"
rel="noopener noreferrer"
>
<p><%= gettext("Help translate") %></p>
<i class="fas fa-md fa-language"></i>
</.link>
</li>
<li class="flex flex-col justify-center space-x-2">
<.link
class="flex flex-row justify-center items-center space-x-2 hover:underline"
href="https://gitea.bubbletea.dev/shibao/lokal/issues/new"
target="_blank"
rel="noopener noreferrer"
>
<p><%= gettext("Report bugs or request features") %></p>
<i class="fas fa-md fa-spider"></i>
</.link>
</li>
</ul>
</div> </div>

View File

@ -11,11 +11,12 @@
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
> >
<%= if @changeset.action && not @changeset.valid? do %> <div
<div class="invalid-feedback col-span-3 text-center"> :if={@changeset.action && not @changeset.valid?()}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %> <%= changeset_errors(@changeset) %>
</div> </div>
<% end %>
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %> <%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :name, class: "input input-primary col-span-2") %> <%= text_input(f, :name, class: "input input-primary col-span-2") %>

View File

@ -61,7 +61,7 @@ defmodule LokalWeb.InviteLive.Index do
) do ) do
socket = socket =
Invites.get_invite!(id, current_user) Invites.get_invite!(id, current_user)
|> Invites.update_invite(%{"uses_left" => nil}, current_user) |> Invites.update_invite(%{uses_left: nil}, current_user)
|> case do |> case do
{:ok, %{name: invite_name}} -> {:ok, %{name: invite_name}} ->
prompt = prompt =
@ -83,7 +83,7 @@ defmodule LokalWeb.InviteLive.Index do
) do ) do
socket = socket =
Invites.get_invite!(id, current_user) Invites.get_invite!(id, current_user)
|> Invites.update_invite(%{"uses_left" => nil, "disabled_at" => nil}, current_user) |> Invites.update_invite(%{uses_left: nil, disabled_at: nil}, current_user)
|> case do |> case do
{:ok, %{name: invite_name}} -> {:ok, %{name: invite_name}} ->
prompt = prompt =
@ -107,7 +107,7 @@ defmodule LokalWeb.InviteLive.Index do
socket = socket =
Invites.get_invite!(id, current_user) Invites.get_invite!(id, current_user)
|> Invites.update_invite(%{"uses_left" => 0, "disabled_at" => now}, current_user) |> Invites.update_invite(%{uses_left: 0, disabled_at: now}, current_user)
|> case do |> case do
{:ok, %{name: invite_name}} -> {:ok, %{name: invite_name}} ->
prompt = prompt =

View File

@ -18,8 +18,7 @@
<% end %> <% end %>
<div class="w-full flex flex-row flex-wrap justify-center items-center"> <div class="w-full flex flex-row flex-wrap justify-center items-center">
<%= for invite <- @invites do %> <.invite_card :for={invite <- @invites} invite={invite}>
<.invite_card invite={invite}>
<:code_actions> <:code_actions>
<form phx-submit="copy_to_clipboard"> <form phx-submit="copy_to_clipboard">
<button <button
@ -54,18 +53,17 @@
<i class="fa-fw fa-lg fas fa-trash"></i> <i class="fa-fw fa-lg fas fa-trash"></i>
</.link> </.link>
<%= if invite.disabled_at |> is_nil() do %>
<a href="#" class="btn btn-primary" phx-click="disable_invite" phx-value-id={invite.id}>
<%= gettext("Disable") %>
</a>
<% else %>
<a href="#" class="btn btn-primary" phx-click="enable_invite" phx-value-id={invite.id}>
<%= gettext("Enable") %>
</a>
<% end %>
<%= if invite.disabled_at |> is_nil() and not (invite.uses_left |> is_nil()) do %>
<a <a
href="#"
class="btn btn-primary"
phx-click={if invite.disabled_at, do: "enable_invite", else: "disable_invite"}
phx-value-id={invite.id}
>
<%= if invite.disabled_at, do: gettext("Enable"), else: gettext("Disable") %>
</a>
<a
:if={invite.disabled_at |> is_nil() and not (invite.uses_left |> is_nil())}
href="#" href="#"
class="btn btn-primary" class="btn btn-primary"
phx-click="set_unlimited" phx-click="set_unlimited"
@ -78,9 +76,7 @@
> >
<%= gettext("Set Unlimited") %> <%= gettext("Set Unlimited") %>
</a> </a>
<% end %>
</.invite_card> </.invite_card>
<% end %>
</div> </div>
<%= unless @admins |> Enum.empty?() do %> <%= unless @admins |> Enum.empty?() do %>
@ -91,8 +87,7 @@
</h1> </h1>
<div class="w-full flex flex-row flex-wrap justify-center items-center"> <div class="w-full flex flex-row flex-wrap justify-center items-center">
<%= for admin <- @admins do %> <.user_card :for={admin <- @admins} user={admin}>
<.user_card user={admin}>
<.link <.link
href="#" href="#"
class="text-primary-600 link" class="text-primary-600 link"
@ -109,7 +104,6 @@
<i class="fa-fw fa-lg fas fa-trash"></i> <i class="fa-fw fa-lg fas fa-trash"></i>
</.link> </.link>
</.user_card> </.user_card>
<% end %>
</div> </div>
<% end %> <% end %>
@ -121,8 +115,7 @@
</h1> </h1>
<div class="w-full flex flex-row flex-wrap justify-center items-center"> <div class="w-full flex flex-row flex-wrap justify-center items-center">
<%= for user <- @users do %> <.user_card :for={user <- @users} user={user}>
<.user_card user={user}>
<.link <.link
href="#" href="#"
class="text-primary-600 link" class="text-primary-600 link"
@ -139,13 +132,11 @@
<i class="fa-fw fa-lg fas fa-trash"></i> <i class="fa-fw fa-lg fas fa-trash"></i>
</.link> </.link>
</.user_card> </.user_card>
<% end %>
</div> </div>
<% end %> <% end %>
</div> </div>
<%= if @live_action in [:new, :edit] do %> <.modal :if={@live_action in [:new, :edit]} return_to={Routes.invite_index_path(Endpoint, :index)}>
<.modal return_to={Routes.invite_index_path(Endpoint, :index)}>
<.live_component <.live_component
module={LokalWeb.InviteLive.FormComponent} module={LokalWeb.InviteLive.FormComponent}
id={@invite.id || :new} id={@invite.id || :new}
@ -155,5 +146,4 @@
return_to={Routes.invite_index_path(Endpoint, :index)} return_to={Routes.invite_index_path(Endpoint, :index)}
current_user={@current_user} current_user={@current_user}
/> />
</.modal> </.modal>
<% end %>

View File

@ -34,7 +34,7 @@ defmodule LokalWeb.LiveHelpers do
w-full h-full overflow-hidden w-full h-full overflow-hidden
p-8 flex flex-col justify-center items-center cursor-auto" p-8 flex flex-col justify-center items-center cursor-auto"
style="background-color: rgba(0,0,0,0.4);" style="background-color: rgba(0,0,0,0.4);"
phx_remove={hide_modal()} phx-remove={hide_modal()}
> >
<span class="hidden"></span> <span class="hidden"></span>
</.link> </.link>
@ -59,7 +59,7 @@ defmodule LokalWeb.LiveHelpers do
class="absolute top-8 right-10 class="absolute top-8 right-10
text-gray-500 hover:text-gray-800 text-gray-500 hover:text-gray-800
transition-all duration-500 ease-in-out" transition-all duration-500 ease-in-out"
phx_remove={hide_modal()} phx-remove={hide_modal()}
> >
<i class="fa-fw fa-lg fas fa-times"></i> <i class="fa-fw fa-lg fas fa-times"></i>
</.link> </.link>

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title> <title>
<%= dgettext("errors", "Error") %>| Lokal <%= dgettext("errors", "Error") %> | <%= gettext("Lokal") %>
</title> </title>
<link rel="stylesheet" href="/css/app.css" /> <link rel="stylesheet" href="/css/app.css" />
<script defer type="text/javascript" src="/js/app.js"> <script defer type="text/javascript" src="/js/app.js">

View File

@ -3,16 +3,12 @@
<.topbar current_user={assigns[:current_user]}></.topbar> <.topbar current_user={assigns[:current_user]}></.topbar>
<div class="mx-8 my-2 flex flex-col space-y-4 text-center"> <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<%= if get_flash(@conn, :info) do %> <p :if={get_flash(@conn, :info)} class="alert alert-info" role="alert">
<p class="alert alert-info" role="alert">
<%= get_flash(@conn, :info) %> <%= get_flash(@conn, :info) %>
</p> </p>
<% end %> <p :if={get_flash(@conn, :error)} class="alert alert-danger" role="alert">
<%= if get_flash(@conn, :error) do %>
<p class="alert alert-danger" role="alert">
<%= get_flash(@conn, :error) %> <%= get_flash(@conn, :error) %>
</p> </p>
<% end %>
</div> </div>
</header> </header>

View File

@ -3,14 +3,18 @@
<.topbar current_user={assigns[:current_user]}></.topbar> <.topbar current_user={assigns[:current_user]}></.topbar>
<div class="mx-8 my-2 flex flex-col space-y-4 text-center"> <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<%= if @flash && @flash |> Map.has_key?("info") do %> <p
<p class="alert alert-info" role="alert" phx-click="lv:clear-flash" phx-value-key="info"> :if={@flash && @flash |> Map.has_key?("info")}
class="alert alert-info"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= live_flash(@flash, "info") %> <%= live_flash(@flash, "info") %>
</p> </p>
<% end %>
<%= if @flash && @flash |> Map.has_key?("error") do %>
<p <p
:if={@flash && @flash |> Map.has_key?("error")}
class="alert alert-danger" class="alert alert-danger"
role="alert" role="alert"
phx-click="lv:clear-flash" phx-click="lv:clear-flash"
@ -18,7 +22,6 @@
> >
<%= live_flash(@flash, "error") %> <%= live_flash(@flash, "error") %>
</p> </p>
<% end %>
</div> </div>
</header> </header>

View File

@ -20,11 +20,13 @@
<hr class="hr" /> <hr class="hr" />
<div class="flex flex-row justify-center items-center space-x-4"> <div class="flex flex-row justify-center items-center space-x-4">
<%= if Accounts.allow_registration?() do %> <.link
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary"> :if={Accounts.allow_registration?()}
href={Routes.user_registration_path(@conn, :new)}
class="btn btn-primary"
>
<%= dgettext("actions", "Register") %> <%= dgettext("actions", "Register") %>
</.link> </.link>
<% end %>
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary"> <.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
<%= dgettext("actions", "Log in") %> <%= dgettext("actions", "Log in") %>
</.link> </.link>

View File

@ -9,13 +9,9 @@
action={Routes.user_registration_path(@conn, :create)} action={Routes.user_registration_path(@conn, :create)}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center" class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
> >
<%= if @changeset.action && not @changeset.valid? do %> <p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
<div class="alert alert-danger col-span-3">
<p>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %> <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p> </p>
</div>
<% end %>
<%= if @invite do %> <%= if @invite do %>
<%= hidden_input(f, :invite_token, value: @invite.token) %> <%= hidden_input(f, :invite_token, value: @invite.token) %>

View File

@ -9,13 +9,9 @@
action={Routes.user_reset_password_path(@conn, :update, @token)} action={Routes.user_reset_password_path(@conn, :update, @token)}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center" class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
> >
<%= if @changeset.action && not @changeset.valid? do %> <p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
<div class="alert alert-danger col-span-3">
<p>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %> <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p> </p>
</div>
<% end %>
<%= label(f, :password, "New password", class: "title text-lg text-primary-600") %> <%= label(f, :password, "New password", class: "title text-lg text-primary-600") %>
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %> <%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
@ -38,11 +34,13 @@
<hr class="hr" /> <hr class="hr" />
<div class="flex flex-row justify-center items-center space-x-4"> <div class="flex flex-row justify-center items-center space-x-4">
<%= if Accounts.allow_registration?() do %> <.link
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary"> :if={Accounts.allow_registration?()}
href={Routes.user_registration_path(@conn, :new)}
class="btn btn-primary"
>
<%= dgettext("actions", "Register") %> <%= dgettext("actions", "Register") %>
</.link> </.link>
<% end %>
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary"> <.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
<%= dgettext("actions", "Log in") %> <%= dgettext("actions", "Log in") %>
</.link> </.link>

View File

@ -20,11 +20,13 @@
<hr class="hr" /> <hr class="hr" />
<div class="flex flex-row justify-center items-center space-x-4"> <div class="flex flex-row justify-center items-center space-x-4">
<%= if Accounts.allow_registration?() do %> <.link
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary"> :if={Accounts.allow_registration?()}
href={Routes.user_registration_path(@conn, :new)}
class="btn btn-primary"
>
<%= dgettext("actions", "Register") %> <%= dgettext("actions", "Register") %>
</.link> </.link>
<% end %>
<.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary"> <.link href={Routes.user_session_path(@conn, :new)} class="btn btn-primary">
<%= dgettext("actions", "Log in") %> <%= dgettext("actions", "Log in") %>
</.link> </.link>

View File

@ -10,13 +10,9 @@
as="user" as="user"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center" class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
> >
<%= if @error_message do %> <p :if={@error_message} class="alert alert-danger col-span-3">
<div class="alert alert-danger col-span-3">
<p>
<%= @error_message %> <%= @error_message %>
</p> </p>
</div>
<% end %>
<%= label(f, :email, class: "title text-lg text-primary-600") %> <%= label(f, :email, class: "title text-lg text-primary-600") %>
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %> <%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
@ -35,11 +31,13 @@
<hr class="hr" /> <hr class="hr" />
<div class="flex flex-row justify-center items-center space-x-4"> <div class="flex flex-row justify-center items-center space-x-4">
<%= if Accounts.allow_registration?() do %> <.link
<.link href={Routes.user_registration_path(@conn, :new)} class="btn btn-primary"> :if={Accounts.allow_registration?()}
href={Routes.user_registration_path(@conn, :new)}
class="btn btn-primary"
>
<%= dgettext("actions", "Register") %> <%= dgettext("actions", "Register") %>
</.link> </.link>
<% end %>
<.link href={Routes.user_reset_password_path(@conn, :new)} class="btn btn-primary"> <.link href={Routes.user_reset_password_path(@conn, :new)} class="btn btn-primary">
<%= dgettext("actions", "Forgot your password?") %> <%= dgettext("actions", "Forgot your password?") %>
</.link> </.link>

View File

@ -15,13 +15,14 @@
<%= dgettext("actions", "Change email") %> <%= dgettext("actions", "Change email") %>
</h3> </h3>
<%= if @email_changeset.action && not @email_changeset.valid? do %> <div
<div class="alert alert-danger col-span-3"> :if={@email_changeset.action && not @email_changeset.valid?()}
class="alert alert-danger col-span-3"
>
<p> <p>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %> <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p> </p>
</div> </div>
<% end %>
<%= hidden_input(f, :action, name: "action", value: "update_email") %> <%= hidden_input(f, :action, name: "action", value: "update_email") %>
@ -58,13 +59,14 @@
<%= dgettext("actions", "Change password") %> <%= dgettext("actions", "Change password") %>
</h3> </h3>
<%= if @password_changeset.action && not @password_changeset.valid? do %> <div
<div class="alert alert-danger col-span-3"> :if={@password_changeset.action && not @password_changeset.valid?()}
class="alert alert-danger col-span-3"
>
<p> <p>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %> <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p> </p>
</div> </div>
<% end %>
<%= hidden_input(f, :action, name: "action", value: "update_password") %> <%= hidden_input(f, :action, name: "action", value: "update_password") %>
@ -113,13 +115,9 @@
<%= dgettext("actions", "Change Language") %> <%= dgettext("actions", "Change Language") %>
</h3> </h3>
<%= if @locale_changeset.action && not @locale_changeset.valid? do %> <p :if={@locale_changeset.action && not @locale_changeset.valid?} class="alert alert-danger">
<div class="alert alert-danger">
<p>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %> <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p> </p>
</div>
<% end %>
<%= hidden_input(f, :action, name: "action", value: "update_locale") %> <%= hidden_input(f, :action, name: "action", value: "update_locale") %>

View File

@ -17,11 +17,13 @@ defmodule LokalWeb.ErrorHelpers do
assigns = %{extra_class: extra_class, form: form, field: field} assigns = %{extra_class: extra_class, form: form, field: field}
~H""" ~H"""
<%= for error <- Keyword.get_values(@form.errors, @field) do %> <span
<span class={["invalid-feedback", @extra_class]} phx-feedback-for={input_name(@form, @field)}> :for={error <- Keyword.get_values(@form.errors, @field)}
class={["invalid-feedback", @extra_class]}
phx-feedback-for={input_name(@form, @field)}
>
<%= translate_error(error) %> <%= translate_error(error) %>
</span> </span>
<% end %>
""" """
end end

View File

@ -7,11 +7,11 @@ defmodule LokalWeb.LayoutView do
# so we instruct Elixir to not warn if the dashboard route is missing. # so we instruct Elixir to not warn if the dashboard route is missing.
@compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}} @compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}}
def get_title(conn) do def get_title(%{assigns: %{title: title}}) when title not in [nil, ""] do
if conn.assigns |> Map.has_key?(:title) do gettext("Lokal | %{title}", title: title)
"Lokal | #{conn.assigns.title}"
else
"Lokal"
end end
def get_title(_conn) do
gettext("Lokal")
end end
end end

View File

@ -16,8 +16,8 @@ defmodule LokalWeb.ViewHelpers do
def datetime(assigns) do def datetime(assigns) do
~H""" ~H"""
<%= if @datetime do %>
<time <time
:if={@datetime}
datetime={cast_datetime(@datetime)} datetime={cast_datetime(@datetime)}
x-data={"{ x-data={"{
datetime: datetime:
@ -28,7 +28,6 @@ defmodule LokalWeb.ViewHelpers do
> >
<%= cast_datetime(@datetime) %> <%= cast_datetime(@datetime) %>
</time> </time>
<% end %>
""" """
end end
@ -48,8 +47,8 @@ defmodule LokalWeb.ViewHelpers do
def date(assigns) do def date(assigns) do
~H""" ~H"""
<%= if @date do %>
<time <time
:if={@date}
datetime={@date |> Date.to_iso8601(:extended)} datetime={@date |> Date.to_iso8601(:extended)}
x-data={"{ x-data={"{
date: date:
@ -60,7 +59,6 @@ defmodule LokalWeb.ViewHelpers do
> >
<%= @date |> Date.to_iso8601(:extended) %> <%= @date |> Date.to_iso8601(:extended) %>
</time> </time>
<% end %>
""" """
end end

View File

@ -11,47 +11,47 @@ msgid ""
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:15 #: lib/lokal_web/templates/user_settings/edit.html.heex:15
#: lib/lokal_web/templates/user_settings/edit.html.heex:44 #: lib/lokal_web/templates/user_settings/edit.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change email" msgid "Change email"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:58 #: lib/lokal_web/templates/user_settings/edit.html.heex:59
#: lib/lokal_web/templates/user_settings/edit.html.heex:99 #: lib/lokal_web/templates/user_settings/edit.html.heex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change password" msgid "Change password"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:145 #: lib/lokal_web/templates/user_settings/edit.html.heex:143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete User" msgid "Delete User"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:51 #: lib/lokal_web/templates/user_registration/new.html.heex:47
#: lib/lokal_web/templates/user_reset_password/new.html.heex:3 #: lib/lokal_web/templates/user_reset_password/new.html.heex:3
#: lib/lokal_web/templates/user_session/new.html.heex:44 #: lib/lokal_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:109 #: lib/lokal_web/components/topbar.ex:108
#: lib/lokal_web/templates/user_confirmation/new.html.heex:29 #: lib/lokal_web/templates/user_confirmation/new.html.heex:31
#: lib/lokal_web/templates/user_registration/new.html.heex:48 #: lib/lokal_web/templates/user_registration/new.html.heex:44
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:47 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:45
#: lib/lokal_web/templates/user_reset_password/new.html.heex:29 #: lib/lokal_web/templates/user_reset_password/new.html.heex:31
#: lib/lokal_web/templates/user_session/new.html.heex:3 #: lib/lokal_web/templates/user_session/new.html.heex:3
#: lib/lokal_web/templates/user_session/new.html.heex:32 #: lib/lokal_web/templates/user_session/new.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:100 #: lib/lokal_web/components/topbar.ex:100
#: lib/lokal_web/templates/user_confirmation/new.html.heex:25 #: lib/lokal_web/templates/user_confirmation/new.html.heex:28
#: lib/lokal_web/templates/user_registration/new.html.heex:3 #: lib/lokal_web/templates/user_registration/new.html.heex:3
#: lib/lokal_web/templates/user_registration/new.html.heex:41 #: lib/lokal_web/templates/user_registration/new.html.heex:37
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:43 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:42
#: lib/lokal_web/templates/user_reset_password/new.html.heex:25 #: lib/lokal_web/templates/user_reset_password/new.html.heex:28
#: lib/lokal_web/templates/user_session/new.html.heex:40 #: lib/lokal_web/templates/user_session/new.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Register" msgid "Register"
msgstr "" msgstr ""
@ -63,7 +63,7 @@ msgid "Resend confirmation instructions"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:3 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:3
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:33 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reset password" msgid "Reset password"
msgstr "" msgstr ""
@ -73,7 +73,7 @@ msgstr ""
msgid "Send instructions to reset password" msgid "Send instructions to reset password"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:30 #: lib/lokal_web/live/invite_live/index.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "" msgstr ""
@ -88,17 +88,17 @@ msgstr ""
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:28 #: lib/lokal_web/live/invite_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:113 #: lib/lokal_web/templates/user_settings/edit.html.heex:115
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:131 #: lib/lokal_web/templates/user_settings/edit.html.heex:129
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change language" msgid "Change language"
msgstr "" msgstr ""

View File

@ -10,7 +10,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:78 #: lib/lokal_web/templates/user_settings/edit.html.heex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Confirm new password" msgid "Confirm new password"
msgstr "" msgstr ""
@ -20,8 +20,8 @@ msgstr ""
msgid "Confirm your account" msgid "Confirm your account"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:32 #: lib/lokal_web/templates/user_settings/edit.html.heex:33
#: lib/lokal_web/templates/user_settings/edit.html.heex:87 #: lib/lokal_web/templates/user_settings/edit.html.heex:89
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current password" msgid "Current password"
msgstr "" msgstr ""
@ -36,14 +36,14 @@ msgstr ""
msgid "Invite Disabled" msgid "Invite Disabled"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:62 #: lib/lokal_web/components/topbar.ex:61
#: lib/lokal_web/live/invite_live/index.ex:41 #: lib/lokal_web/live/invite_live/index.ex:41
#: lib/lokal_web/live/invite_live/index.html.heex:3 #: lib/lokal_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_session/new.html.heex:27 #: lib/lokal_web/templates/user_session/new.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days" msgid "Keep me logged in for 60 days"
msgstr "" msgstr ""
@ -53,12 +53,12 @@ msgstr ""
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:71 #: lib/lokal_web/templates/user_settings/edit.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/lokal_web/templates/layout/live.html.heex:40 #: lib/lokal_web/templates/layout/live.html.heex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reconnecting..." msgid "Reconnecting..."
msgstr "" msgstr ""
@ -79,27 +79,17 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:7 #: lib/lokal_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Shop from your community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:3
#, elixir-autogen, elixir-format
msgid "Welcome to Lokal"
msgstr ""
#: lib/lokal_web/live/home_live.ex:10
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:90 #: lib/lokal_web/live/invite_live/index.html.heex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Admins" msgid "Admins"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:59 #: lib/lokal_web/live/invite_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
@ -109,12 +99,12 @@ msgstr ""
msgid "Edit Invite" msgid "Edit Invite"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:63 #: lib/lokal_web/live/invite_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:20 #: lib/lokal_web/live/invite_live/form_component.html.heex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "" msgstr ""
@ -129,28 +119,28 @@ msgstr ""
msgid "No invites 😔" msgid "No invites 😔"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:79 #: lib/lokal_web/live/invite_live/index.html.heex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:120 #: lib/lokal_web/live/invite_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Users" msgid "Users"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:24 #: lib/lokal_web/live/invite_live/form_component.html.heex:25
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Uses left" msgid "Uses left"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:36 #: lib/lokal_web/templates/user_registration/new.html.heex:32
#: lib/lokal_web/templates/user_settings/edit.html.heex:126 #: lib/lokal_web/templates/user_settings/edit.html.heex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "English" msgid "English"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:32 #: lib/lokal_web/templates/user_registration/new.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "" msgstr ""
@ -161,8 +151,10 @@ msgid "Email unconfirmed"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:23 #: lib/lokal_web/components/topbar.ex:23
#: lib/lokal_web/templates/error/error.html.heex:8
#: lib/lokal_web/templates/layout/root.html.heex:8 #: lib/lokal_web/templates/layout/root.html.heex:8
#: lib/lokal_web/templates/layout/root.html.heex:9 #: lib/lokal_web/templates/layout/root.html.heex:9
#: lib/lokal_web/views/layout_view.ex:15
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Lokal" msgid "Lokal"
msgstr "" msgstr ""
@ -186,3 +178,103 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Uses Left: Unlimited" msgid "Uses Left: Unlimited"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:37
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:51
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:16
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:98
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:119
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:46
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:73
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:72
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:69
#, elixir-autogen, elixir-format
msgid "Registration:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:130
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:24
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:27
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:34
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:79
#, elixir-autogen, elixir-format
msgid "Version:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:108
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:28
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:19
#, elixir-autogen, elixir-format
msgid "Lokal lets you easily shop from your local community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:7
#, elixir-autogen, elixir-format
msgid "Shop from your local community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:3
#, elixir-autogen, elixir-format
msgid "Welcome to Lokal"
msgstr ""
#: lib/lokal_web/views/layout_view.ex:11
#, elixir-autogen, elixir-format
msgid "Lokal | %{title}"
msgstr ""

View File

@ -11,47 +11,47 @@ msgstr ""
"Language: en\n" "Language: en\n"
#: lib/lokal_web/templates/user_settings/edit.html.heex:15 #: lib/lokal_web/templates/user_settings/edit.html.heex:15
#: lib/lokal_web/templates/user_settings/edit.html.heex:44 #: lib/lokal_web/templates/user_settings/edit.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change email" msgid "Change email"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:58 #: lib/lokal_web/templates/user_settings/edit.html.heex:59
#: lib/lokal_web/templates/user_settings/edit.html.heex:99 #: lib/lokal_web/templates/user_settings/edit.html.heex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change password" msgid "Change password"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:145 #: lib/lokal_web/templates/user_settings/edit.html.heex:143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete User" msgid "Delete User"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:51 #: lib/lokal_web/templates/user_registration/new.html.heex:47
#: lib/lokal_web/templates/user_reset_password/new.html.heex:3 #: lib/lokal_web/templates/user_reset_password/new.html.heex:3
#: lib/lokal_web/templates/user_session/new.html.heex:44 #: lib/lokal_web/templates/user_session/new.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Forgot your password?" msgid "Forgot your password?"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:109 #: lib/lokal_web/components/topbar.ex:108
#: lib/lokal_web/templates/user_confirmation/new.html.heex:29 #: lib/lokal_web/templates/user_confirmation/new.html.heex:31
#: lib/lokal_web/templates/user_registration/new.html.heex:48 #: lib/lokal_web/templates/user_registration/new.html.heex:44
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:47 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:45
#: lib/lokal_web/templates/user_reset_password/new.html.heex:29 #: lib/lokal_web/templates/user_reset_password/new.html.heex:31
#: lib/lokal_web/templates/user_session/new.html.heex:3 #: lib/lokal_web/templates/user_session/new.html.heex:3
#: lib/lokal_web/templates/user_session/new.html.heex:32 #: lib/lokal_web/templates/user_session/new.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:100 #: lib/lokal_web/components/topbar.ex:100
#: lib/lokal_web/templates/user_confirmation/new.html.heex:25 #: lib/lokal_web/templates/user_confirmation/new.html.heex:28
#: lib/lokal_web/templates/user_registration/new.html.heex:3 #: lib/lokal_web/templates/user_registration/new.html.heex:3
#: lib/lokal_web/templates/user_registration/new.html.heex:41 #: lib/lokal_web/templates/user_registration/new.html.heex:37
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:43 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:42
#: lib/lokal_web/templates/user_reset_password/new.html.heex:25 #: lib/lokal_web/templates/user_reset_password/new.html.heex:28
#: lib/lokal_web/templates/user_session/new.html.heex:40 #: lib/lokal_web/templates/user_session/new.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Register" msgid "Register"
msgstr "" msgstr ""
@ -63,7 +63,7 @@ msgid "Resend confirmation instructions"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:3 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:3
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:33 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reset password" msgid "Reset password"
msgstr "" msgstr ""
@ -73,7 +73,7 @@ msgstr ""
msgid "Send instructions to reset password" msgid "Send instructions to reset password"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:30 #: lib/lokal_web/live/invite_live/index.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "" msgstr ""
@ -88,17 +88,17 @@ msgstr ""
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:28 #: lib/lokal_web/live/invite_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:113 #: lib/lokal_web/templates/user_settings/edit.html.heex:115
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:131 #: lib/lokal_web/templates/user_settings/edit.html.heex:129
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change language" msgid "Change language"
msgstr "" msgstr ""

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Language: en\n" "Language: en\n"
#: lib/lokal_web/templates/user_settings/edit.html.heex:78 #: lib/lokal_web/templates/user_settings/edit.html.heex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Confirm new password" msgid "Confirm new password"
msgstr "" msgstr ""
@ -20,8 +20,8 @@ msgstr ""
msgid "Confirm your account" msgid "Confirm your account"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:32 #: lib/lokal_web/templates/user_settings/edit.html.heex:33
#: lib/lokal_web/templates/user_settings/edit.html.heex:87 #: lib/lokal_web/templates/user_settings/edit.html.heex:89
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Current password" msgid "Current password"
msgstr "" msgstr ""
@ -36,14 +36,14 @@ msgstr ""
msgid "Invite Disabled" msgid "Invite Disabled"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:62 #: lib/lokal_web/components/topbar.ex:61
#: lib/lokal_web/live/invite_live/index.ex:41 #: lib/lokal_web/live/invite_live/index.ex:41
#: lib/lokal_web/live/invite_live/index.html.heex:3 #: lib/lokal_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_session/new.html.heex:27 #: lib/lokal_web/templates/user_session/new.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days" msgid "Keep me logged in for 60 days"
msgstr "" msgstr ""
@ -53,12 +53,12 @@ msgstr ""
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:71 #: lib/lokal_web/templates/user_settings/edit.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/lokal_web/templates/layout/live.html.heex:40 #: lib/lokal_web/templates/layout/live.html.heex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reconnecting..." msgid "Reconnecting..."
msgstr "" msgstr ""
@ -79,27 +79,17 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:7 #: lib/lokal_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Shop from your community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:3
#, elixir-autogen, elixir-format
msgid "Welcome to Lokal"
msgstr ""
#: lib/lokal_web/live/home_live.ex:10
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:90 #: lib/lokal_web/live/invite_live/index.html.heex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Admins" msgid "Admins"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:59 #: lib/lokal_web/live/invite_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
@ -109,12 +99,12 @@ msgstr ""
msgid "Edit Invite" msgid "Edit Invite"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:63 #: lib/lokal_web/live/invite_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:20 #: lib/lokal_web/live/invite_live/form_component.html.heex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Name" msgid "Name"
msgstr "" msgstr ""
@ -129,28 +119,28 @@ msgstr ""
msgid "No invites 😔" msgid "No invites 😔"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:79 #: lib/lokal_web/live/invite_live/index.html.heex:77
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:120 #: lib/lokal_web/live/invite_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Users" msgid "Users"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:24 #: lib/lokal_web/live/invite_live/form_component.html.heex:25
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Uses left" msgid "Uses left"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:36 #: lib/lokal_web/templates/user_registration/new.html.heex:32
#: lib/lokal_web/templates/user_settings/edit.html.heex:126 #: lib/lokal_web/templates/user_settings/edit.html.heex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "English" msgid "English"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:32 #: lib/lokal_web/templates/user_registration/new.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language" msgid "Language"
msgstr "" msgstr ""
@ -161,8 +151,10 @@ msgid "Email unconfirmed"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:23 #: lib/lokal_web/components/topbar.ex:23
#: lib/lokal_web/templates/error/error.html.heex:8
#: lib/lokal_web/templates/layout/root.html.heex:8 #: lib/lokal_web/templates/layout/root.html.heex:8
#: lib/lokal_web/templates/layout/root.html.heex:9 #: lib/lokal_web/templates/layout/root.html.heex:9
#: lib/lokal_web/views/layout_view.ex:15
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Lokal" msgid "Lokal"
msgstr "" msgstr ""
@ -186,3 +178,103 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Uses Left: Unlimited" msgid "Uses Left: Unlimited"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:37
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Admins:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:16
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:98
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:119
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:46
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:73
#, elixir-autogen, elixir-format, fuzzy
msgid "Invite Only"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:72
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:69
#, elixir-autogen, elixir-format, fuzzy
msgid "Registration:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:130
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:24
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:27
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:34
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:79
#, elixir-autogen, elixir-format
msgid "Version:"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:108
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:28
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:19
#, elixir-autogen, elixir-format
msgid "Lokal lets you easily shop from your local community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:7
#, elixir-autogen, elixir-format
msgid "Shop from your local community"
msgstr ""
#: lib/lokal_web/live/home_live.html.heex:3
#, elixir-autogen, elixir-format, fuzzy
msgid "Welcome to Lokal"
msgstr ""
#: lib/lokal_web/views/layout_view.ex:11
#, elixir-autogen, elixir-format
msgid "Lokal | %{title}"
msgstr ""

View File

@ -126,10 +126,10 @@ msgstr ""
msgid "Not found" msgid "Not found"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:15 #: lib/lokal_web/templates/user_registration/new.html.heex:13
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:15 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:13
#: lib/lokal_web/templates/user_settings/edit.html.heex:21 #: lib/lokal_web/templates/user_settings/edit.html.heex:23
#: lib/lokal_web/templates/user_settings/edit.html.heex:64 #: lib/lokal_web/templates/user_settings/edit.html.heex:67
#: lib/lokal_web/templates/user_settings/edit.html.heex:119 #: lib/lokal_web/templates/user_settings/edit.html.heex:119
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Oops, something went wrong! Please check the errors below." msgid "Oops, something went wrong! Please check the errors below."

View File

@ -20,12 +20,12 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:143 #: lib/lokal_web/templates/user_settings/edit.html.heex:141
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete your account?" msgid "Are you sure you want to delete your account?"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:78 #: lib/lokal_web/components/topbar.ex:76
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to log out?" msgid "Are you sure you want to log out?"
msgstr "" msgstr ""
@ -70,8 +70,8 @@ msgstr ""
msgid "Your account has been deleted" msgid "Your account has been deleted"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:102 #: lib/lokal_web/live/invite_live/index.html.heex:97
#: lib/lokal_web/live/invite_live/index.html.heex:132 #: lib/lokal_web/live/invite_live/index.html.heex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
@ -81,12 +81,12 @@ msgstr ""
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:30 #: lib/lokal_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saving..." msgid "Saving..."
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:133 #: lib/lokal_web/templates/user_settings/edit.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to change your language?" msgid "Are you sure you want to change your language?"
msgstr "" msgstr ""
@ -131,12 +131,17 @@ msgstr ""
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:48 #: lib/lokal_web/live/invite_live/index.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete the invite for %{invite_name}?" msgid "Are you sure you want to delete the invite for %{invite_name}?"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:74 #: lib/lokal_web/live/invite_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to make %{invite_name} unlimited?" msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:56
#, elixir-autogen, elixir-format, fuzzy
msgid "Register to setup Lokal"
msgstr ""

View File

@ -123,10 +123,10 @@ msgstr ""
msgid "Not found" msgid "Not found"
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_registration/new.html.heex:15 #: lib/lokal_web/templates/user_registration/new.html.heex:13
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:15 #: lib/lokal_web/templates/user_reset_password/edit.html.heex:13
#: lib/lokal_web/templates/user_settings/edit.html.heex:21 #: lib/lokal_web/templates/user_settings/edit.html.heex:23
#: lib/lokal_web/templates/user_settings/edit.html.heex:64 #: lib/lokal_web/templates/user_settings/edit.html.heex:67
#: lib/lokal_web/templates/user_settings/edit.html.heex:119 #: lib/lokal_web/templates/user_settings/edit.html.heex:119
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Oops, something went wrong! Please check the errors below." msgid "Oops, something went wrong! Please check the errors below."

View File

@ -20,12 +20,12 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address." msgid "A link to confirm your email change has been sent to the new address."
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:143 #: lib/lokal_web/templates/user_settings/edit.html.heex:141
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete your account?" msgid "Are you sure you want to delete your account?"
msgstr "" msgstr ""
#: lib/lokal_web/components/topbar.ex:78 #: lib/lokal_web/components/topbar.ex:76
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to log out?" msgid "Are you sure you want to log out?"
msgstr "" msgstr ""
@ -70,8 +70,8 @@ msgstr ""
msgid "Your account has been deleted" msgid "Your account has been deleted"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:102 #: lib/lokal_web/live/invite_live/index.html.heex:97
#: lib/lokal_web/live/invite_live/index.html.heex:132 #: lib/lokal_web/live/invite_live/index.html.heex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
@ -81,12 +81,12 @@ msgstr ""
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/form_component.html.heex:30 #: lib/lokal_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saving..." msgid "Saving..."
msgstr "" msgstr ""
#: lib/lokal_web/templates/user_settings/edit.html.heex:133 #: lib/lokal_web/templates/user_settings/edit.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to change your language?" msgid "Are you sure you want to change your language?"
msgstr "" msgstr ""
@ -131,12 +131,17 @@ msgstr ""
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:48 #: lib/lokal_web/live/invite_live/index.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete the invite for %{invite_name}?" msgid "Are you sure you want to delete the invite for %{invite_name}?"
msgstr "" msgstr ""
#: lib/lokal_web/live/invite_live/index.html.heex:74 #: lib/lokal_web/live/invite_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to make %{invite_name} unlimited?" msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr "" msgstr ""
#: lib/lokal_web/live/home_live.html.heex:56
#, elixir-autogen, elixir-format
msgid "Register to setup Lokal"
msgstr ""