Compare commits
15 Commits
f0589348cc
...
0.1.0
Author | SHA1 | Date | |
---|---|---|---|
cad2fc9c3a | |||
9e0e9ea2ae | |||
2a0f5720ee | |||
aede4f45ba | |||
889e08e42c | |||
8fae6c4661 | |||
9529343a91 | |||
676623d4c1 | |||
25bca35e0e | |||
3a17c40795 | |||
f63aa4c832 | |||
f55f113622 | |||
b86667da98 | |||
290b4b791d | |||
736cd3ab57 |
@ -1,4 +1,4 @@
|
|||||||
FROM elixir:1.12.2-alpine AS build
|
FROM elixir:1.13-alpine AS build
|
||||||
|
|
||||||
# install build dependencies
|
# install build dependencies
|
||||||
RUN apk add --no-cache build-base npm git python3
|
RUN apk add --no-cache build-base npm git python3
|
||||||
@ -34,7 +34,7 @@ RUN mix do phx.digest, gettext.extract
|
|||||||
RUN mix do compile, release
|
RUN mix do compile, release
|
||||||
|
|
||||||
# prepare release image
|
# prepare release image
|
||||||
FROM alpine:3.9 AS app
|
FROM alpine:latest AS app
|
||||||
|
|
||||||
RUN apk upgrade --no-cache && \
|
RUN apk upgrade --no-cache && \
|
||||||
apk add --no-cache bash openssl libgcc libstdc++ ncurses-libs
|
apk add --no-cache bash openssl libgcc libstdc++ ncurses-libs
|
||||||
|
@ -16,6 +16,24 @@ $fa-font-path: "@fortawesome/fontawesome-free/webfonts";
|
|||||||
scrollbar-color: rgba(161, 161, 170, var(--tw-bg-opacity)) white;
|
scrollbar-color: rgba(161, 161, 170, var(--tw-bg-opacity)) white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fa-fade {
|
||||||
|
animation: pulse 1s ease-in-out 0s infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes pulse {
|
||||||
|
0% { scale: 0.95; opacity: 0.5; }
|
||||||
|
100% { scale: 1.0; opacity: 1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-connected > #disconnect, #loading {
|
||||||
|
opacity: 0 !important;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-loading:not(.phx-error) > #loading, .phx-error > #disconnect {
|
||||||
|
opacity: 0.95 !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Alerts and form errors used by phx.new */
|
/* Alerts and form errors used by phx.new */
|
||||||
.alert {
|
.alert {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
|
@ -3,6 +3,7 @@ const colors = require('tailwindcss/colors')
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
purge: [
|
purge: [
|
||||||
'../lib/**/*.ex',
|
'../lib/**/*.ex',
|
||||||
|
'../lib/**/*.heex',
|
||||||
'../lib/**/*.leex',
|
'../lib/**/*.leex',
|
||||||
'../lib/**/*.eex',
|
'../lib/**/*.eex',
|
||||||
'./js/**/*.js'
|
'./js/**/*.js'
|
||||||
|
@ -6,19 +6,26 @@ services:
|
|||||||
container_name: cannery
|
container_name: cannery
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- HOST="your.domain.com"
|
# HOST must be set!
|
||||||
- DATABASE_URL="ecto://postgres:postgres@cannery-db/cannery"
|
# - HOST=your.domain.com
|
||||||
|
- DATABASE_URL=ecto://postgres:postgres@cannery-db/cannery
|
||||||
# Use `docker run -it shibaobun/cannery /app/priv/random.sh` to generate a secret key base
|
# Use `docker run -it shibaobun/cannery /app/priv/random.sh` to generate a secret key base
|
||||||
# - SECRET_KEY_BASE="change-me-this-is-really-important-seriously-change-it"
|
# - SECRET_KEY_BASE=change-me-this-is-really-important-seriously-change-it
|
||||||
# uncomment to enable public sign ups, not recommended
|
# uncomment to enable public sign ups, not recommended
|
||||||
# - REGISTRATION="public"
|
# - REGISTRATION=public
|
||||||
# - SMTP_HOST="cannery.example.tld" # must be set!
|
# SMTP host must be set!
|
||||||
# - SMTP_PORT="587" # optional
|
# - SMTP_HOST=smtp.mailserver.tld
|
||||||
# - SMTP_USERNAME="username"
|
# optional, default is 587
|
||||||
# - SMTP_PASSWORD="password"
|
# - SMTP_PORT=587
|
||||||
# - SMTP_SSL="false" # optional
|
# SMTP username/passwords must be set!
|
||||||
# - EMAIL_FROM="no-reply@cannery.example.tld" # optional
|
# - SMTP_USERNAME=username
|
||||||
# - EMAIL_NAME="Cannery" # optional
|
# - SMTP_PASSWORD=password
|
||||||
|
# optional, default is false
|
||||||
|
# - SMTP_SSL=false
|
||||||
|
# optional, default is format below
|
||||||
|
# - EMAIL_FROM=no-reply@cannery.example.tld
|
||||||
|
# optional, default is "Cannery"
|
||||||
|
# - EMAIL_NAME=Cannery
|
||||||
expose:
|
expose:
|
||||||
- "4000"
|
- "4000"
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -3,7 +3,7 @@ defmodule Cannery.EmailWorker do
|
|||||||
Oban worker that dispatches emails
|
Oban worker that dispatches emails
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Oban.Worker, queue: :mailers
|
use Oban.Worker, queue: :mailers, tags: ["email"]
|
||||||
alias Cannery.{Accounts, Email, Mailer}
|
alias Cannery.{Accounts, Email, Mailer}
|
||||||
|
|
||||||
@impl Oban.Worker
|
@impl Oban.Worker
|
||||||
|
@ -256,6 +256,12 @@ defmodule Cannery.Ammo do
|
|||||||
|> Repo.insert()
|
|> Repo.insert()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def create_ammo_group(invalid_attrs, _user) do
|
||||||
|
%AmmoGroup{}
|
||||||
|
|> AmmoGroup.create_changeset(invalid_attrs |> Map.put("user_id", "-1"))
|
||||||
|
|> Repo.insert()
|
||||||
|
end
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Updates a ammo_group.
|
Updates a ammo_group.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= gettext("Record shots") %>
|
<%= gettext("Record shots") %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@ -7,7 +7,7 @@
|
|||||||
let={f}
|
let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="shot-group-form"
|
id="shot-group-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="w-full flex flex-col space-y-8 justify-center items-center">
|
<div class="w-full flex flex-col space-y-8 justify-center items-center">
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= gettext("Move ammo") %>
|
<%= gettext("Move ammo") %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
@ -16,11 +16,10 @@ defmodule CanneryWeb.Components.Topbar do
|
|||||||
<nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-400">
|
<nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-400">
|
||||||
<div class="flex flex-col sm:flex-row justify-between items-center">
|
<div class="flex flex-col sm:flex-row justify-between items-center">
|
||||||
<div class="mb-4 sm:mb-0 sm:mr-8 flex flex-row justify-start items-center space-x-2">
|
<div class="mb-4 sm:mb-0 sm:mr-8 flex flex-row justify-start items-center space-x-2">
|
||||||
<%= link to: Routes.live_path(Endpoint, HomeLive) do %>
|
<%= live_redirect("Cannery",
|
||||||
<h1 class="mx-2 my-1 leading-5 text-xl text-white hover:underline">
|
to: Routes.live_path(Endpoint, HomeLive),
|
||||||
Cannery
|
class: "mx-2 my-1 leading-5 text-xl text-white hover:underline"
|
||||||
</h1>
|
) %>
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<%= if @title_content do %>
|
<%= if @title_content do %>
|
||||||
<span class="mx-2 my-1">
|
<span class="mx-2 my-1">
|
||||||
@ -38,47 +37,47 @@ defmodule CanneryWeb.Components.Topbar do
|
|||||||
>
|
>
|
||||||
<%= if @current_user do %>
|
<%= if @current_user do %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Tags"),
|
<%= live_redirect(gettext("Tags"),
|
||||||
class: "hover:underline",
|
to: Routes.tag_index_path(Endpoint, :index),
|
||||||
to: Routes.tag_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Containers"),
|
<%= live_redirect(gettext("Containers"),
|
||||||
class: "hover:underline",
|
to: Routes.container_index_path(Endpoint, :index),
|
||||||
to: Routes.container_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Ammo"),
|
<%= live_redirect(gettext("Ammo"),
|
||||||
class: "hover:underline",
|
to: Routes.ammo_type_index_path(Endpoint, :index),
|
||||||
to: Routes.ammo_type_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Manage"),
|
<%= live_redirect(gettext("Manage"),
|
||||||
class: "hover:underline",
|
to: Routes.ammo_group_index_path(Endpoint, :index),
|
||||||
to: Routes.ammo_group_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Range"),
|
<%= live_redirect(gettext("Range"),
|
||||||
class: "hover:underline",
|
to: Routes.range_index_path(Endpoint, :index),
|
||||||
to: Routes.range_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<%= if @current_user.role == :admin do %>
|
<%= if @current_user.role == :admin do %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(gettext("Invites"),
|
<%= live_redirect(gettext("Invites"),
|
||||||
class: "hover:underline",
|
to: Routes.invite_index_path(Endpoint, :index),
|
||||||
to: Routes.invite_index_path(Endpoint, :index)
|
class: "text-primary-600 text-white hover:underline"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(@current_user.email,
|
<%= live_redirect(@current_user.email,
|
||||||
class: "hover:underline truncate",
|
to: Routes.user_settings_path(Endpoint, :edit),
|
||||||
to: Routes.user_settings_path(Endpoint, :edit)
|
class: "text-primary-600 text-white hover:underline truncate"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
@ -90,7 +89,8 @@ defmodule CanneryWeb.Components.Topbar do
|
|||||||
</li>
|
</li>
|
||||||
<%= if @current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2) do %>
|
<%= if @current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2) do %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link to: Routes.live_dashboard_path(Endpoint, :home) do %>
|
<%= live_redirect to: Routes.live_dashboard_path(Endpoint, :home),
|
||||||
|
class: "text-primary-600 text-white hover:underline" do %>
|
||||||
<i class="fas fa-tachometer-alt"></i>
|
<i class="fas fa-tachometer-alt"></i>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
@ -98,16 +98,16 @@ defmodule CanneryWeb.Components.Topbar do
|
|||||||
<% else %>
|
<% else %>
|
||||||
<%= if Accounts.allow_registration?() do %>
|
<%= if Accounts.allow_registration?() do %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(dgettext("actions", "Register"),
|
<%= live_redirect(dgettext("actions", "Register"),
|
||||||
class: "hover:underline",
|
to: Routes.user_registration_path(Endpoint, :new),
|
||||||
to: Routes.user_registration_path(Endpoint, :new)
|
class: "text-primary-600 text-white hover:underline truncate"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<li class="mx-2 my-1">
|
<li class="mx-2 my-1">
|
||||||
<%= link(dgettext("actions", "Log in"),
|
<%= live_redirect(dgettext("actions", "Log in"),
|
||||||
class: "hover:underline",
|
to: Routes.user_session_path(Endpoint, :new),
|
||||||
to: Routes.user_session_path(Endpoint, :new)
|
class: "text-primary-600 text-white hover:underline truncate"
|
||||||
) %>
|
) %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@ -10,7 +10,7 @@
|
|||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
>
|
>
|
||||||
<%= if @changeset.action && not @changeset.valid? do %>
|
<%= if @changeset.action && not @changeset.valid? do %>
|
||||||
<div class="invalid-feedback col-span-3 text-center">
|
<div class="invalid-feedback col-span-3 text-center">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
<.form
|
<.form
|
||||||
@ -9,7 +9,7 @@
|
|||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
>
|
>
|
||||||
<%= if @changeset.action && not @changeset.valid? do %>
|
<%= if @changeset.action && not @changeset.valid? do %>
|
||||||
<div class="invalid-feedback col-span-3 text-center">
|
<div class="invalid-feedback col-span-3 text-center">
|
||||||
@ -97,10 +97,7 @@
|
|||||||
<%= label(f, :powder_type, gettext("Powder type"),
|
<%= label(f, :powder_type, gettext("Powder type"),
|
||||||
class: "mr-4 title text-lg text-primary-600"
|
class: "mr-4 title text-lg text-primary-600"
|
||||||
) %>
|
) %>
|
||||||
<%= text_input(f, :powder_type,
|
<%= text_input(f, :powder_type, class: "text-center col-span-2 input input-primary") %>
|
||||||
class: "text-center col-span-2 input input-primary",
|
|
||||||
placeholder: gettext("Brass")
|
|
||||||
) %>
|
|
||||||
<%= error_tag(f, :powder_type, "col-span-3 text-center") %>
|
<%= error_tag(f, :powder_type, "col-span-3 text-center") %>
|
||||||
|
|
||||||
<%= label(f, :powder_grains_per_charge, gettext("Powder grains per charge"),
|
<%= label(f, :powder_grains_per_charge, gettext("Powder grains per charge"),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="mb-4 text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@ -7,7 +7,7 @@
|
|||||||
let={f}
|
let={f}
|
||||||
for={:tag}
|
for={:tag}
|
||||||
id="add-tag-to-container-form"
|
id="add-tag-to-container-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-x-2"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
>
|
>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
<.form
|
<.form
|
||||||
let={f}
|
let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="container-form"
|
id="container-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
<.form
|
<.form
|
||||||
let={f}
|
let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="invite-form"
|
id="invite-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
|
@ -24,12 +24,11 @@
|
|||||||
<%= for invite <- @invites do %>
|
<%= for invite <- @invites do %>
|
||||||
<.invite_card invite={invite}>
|
<.invite_card invite={invite}>
|
||||||
<:code_actions>
|
<:code_actions>
|
||||||
<form phx-submit={JS.dispatch("cannery:clipcopy", to: "#code-#{invite.id}")}>
|
<form phx-submit="copy_to_clipboard">
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
class="mx-2 my-1 btn btn-primary"
|
class="mx-2 my-1 btn btn-primary"
|
||||||
phx-click="copy_to_clipboard"
|
phx-click={JS.dispatch("cannery:clipcopy", to: "#code-#{invite.id}")}
|
||||||
phx-value-invite_id={"#code-#{invite.id}"}
|
|
||||||
>
|
>
|
||||||
<%= dgettext("actions", "Copy to clipboard") %>
|
<%= dgettext("actions", "Copy to clipboard") %>
|
||||||
</button>
|
</button>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@ -7,7 +7,7 @@
|
|||||||
let={f}
|
let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="shot-group-form"
|
id="shot-group-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
|
@ -29,14 +29,14 @@ defmodule CanneryWeb.TagLive.FormComponent do
|
|||||||
def render(assigns) do
|
def render(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<div>
|
<div>
|
||||||
<h2 class="text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= @title %>
|
<%= @title %>
|
||||||
</h2>
|
</h2>
|
||||||
<.form
|
<.form
|
||||||
let={f}
|
let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="tag-form"
|
id="tag-form"
|
||||||
class="flex flex-col sm:grid sm:grid-cols-3 justify-center items-center space-y-4"
|
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
phx-submit="save"
|
phx-submit="save"
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="{@url}"><%= @url %></a>
|
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="{@url}"><%= @url %></a>
|
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="{@url}"><%= @url %></a>
|
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<main role="main" class="container min-h-full min-w-full">
|
<main role="main" class="min-h-full min-w-full">
|
||||||
<header>
|
<header>
|
||||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<main class="mb-8 container min-w-full">
|
<main class="mb-8 min-w-full">
|
||||||
<header>
|
<header>
|
||||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||||
|
|
||||||
@ -26,3 +26,29 @@
|
|||||||
<%= @inner_content %>
|
<%= @inner_content %>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
<div
|
||||||
|
id="loading"
|
||||||
|
class="absolute opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
|
||||||
|
flex flex-col justify-center items-center space-y-4
|
||||||
|
transition-opacity ease-in-out duration-500"
|
||||||
|
>
|
||||||
|
<h1 class="title text-2xl title-primary-500">
|
||||||
|
<%= gettext("Loading...") %>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<i class="fas fa-3x fa-spin fa-cog"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
id="disconnect"
|
||||||
|
class="absolute opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
|
||||||
|
flex flex-col justify-center items-center space-y-4
|
||||||
|
transition-opacity ease-in-out duration-500"
|
||||||
|
>
|
||||||
|
<h1 class="title text-2xl title-primary-500">
|
||||||
|
<%= gettext("Reconnecting...") %>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<i class="fas fa-3x fa-fade fa-satellite-dish"></i>
|
||||||
|
</div>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="title text-primary-600 text-xl">
|
<h1 class="title text-primary-600 text-xl">
|
||||||
<%= dgettext("actions", "Resend confirmation instructions") %>
|
<%= dgettext("actions", "Resend confirmation instructions") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -7,15 +7,14 @@
|
|||||||
Routes.user_confirmation_path(@conn, :create),
|
Routes.user_confirmation_path(@conn, :create),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"flex flex-col sm:grid sm:grid-cols-3" <>
|
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<%= 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") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Resend confirmation instructions"),
|
<%= submit(dgettext("actions", "Resend confirmation instructions"),
|
||||||
class: "mx-auto my-4 btn btn-primary col-span-3"
|
class: "mx-auto btn btn-primary col-span-3"
|
||||||
) %>
|
) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="title text-primary-600 text-xl">
|
<h1 class="title text-primary-600 text-xl">
|
||||||
<%= dgettext("actions", "Register") %>
|
<%= dgettext("actions", "Register") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -7,8 +7,7 @@
|
|||||||
Routes.user_registration_path(@conn, :create),
|
Routes.user_registration_path(@conn, :create),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"flex flex-col sm:grid sm:grid-cols-3" <>
|
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<%= if @changeset.action && not @changeset.valid? do %>
|
<%= if @changeset.action && not @changeset.valid? do %>
|
||||||
@ -31,7 +30,7 @@
|
|||||||
<%= 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") %>
|
||||||
<%= error_tag(f, :password, "col-span-3") %>
|
<%= error_tag(f, :password, "col-span-3") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Register"), class: "mx-auto my-4 btn btn-primary col-span-3") %>
|
<%= submit(dgettext("actions", "Register"), class: "mx-auto btn btn-primary col-span-3") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr class="hr" />
|
<hr class="hr" />
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="title text-primary-600 text-xl">
|
<h1 class="title text-primary-600 text-xl">
|
||||||
<%= dgettext("actions", "Reset password") %>
|
<%= dgettext("actions", "Reset password") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -7,8 +7,7 @@
|
|||||||
Routes.user_reset_password_path(@conn, :update, @token),
|
Routes.user_reset_password_path(@conn, :update, @token),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"flex flex-col sm:grid sm:grid-cols-3" <>
|
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<%= if @changeset.action && not @changeset.valid? do %>
|
<%= if @changeset.action && not @changeset.valid? do %>
|
||||||
@ -33,7 +32,7 @@
|
|||||||
<%= error_tag(f, :password_confirmation, "col-span-3") %>
|
<%= error_tag(f, :password_confirmation, "col-span-3") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Reset password"),
|
<%= submit(dgettext("actions", "Reset password"),
|
||||||
class: "mx-auto my-4 btn btn-primary col-span-3"
|
class: "mx-auto btn btn-primary col-span-3"
|
||||||
) %>
|
) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="title text-primary-600 text-xl">
|
<h1 class="title text-primary-600 text-xl">
|
||||||
<%= dgettext("actions", "Forgot your password?") %>
|
<%= dgettext("actions", "Forgot your password?") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -7,15 +7,14 @@
|
|||||||
Routes.user_reset_password_path(@conn, :create),
|
Routes.user_reset_password_path(@conn, :create),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"flex flex-col sm:grid sm:grid-cols-3" <>
|
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<%= 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") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Send instructions to reset password"),
|
<%= submit(dgettext("actions", "Send instructions to reset password"),
|
||||||
class: "mx-auto my-4 btn btn-primary col-span-3"
|
class: "mx-auto btn btn-primary col-span-3"
|
||||||
) %>
|
) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="title text-primary-600 text-xl">
|
<h1 class="title text-primary-600 text-xl">
|
||||||
<%= dgettext("actions", "Log in") %>
|
<%= dgettext("actions", "Log in") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -8,8 +8,7 @@
|
|||||||
[
|
[
|
||||||
as: :user,
|
as: :user,
|
||||||
class:
|
class:
|
||||||
"flex flex-col sm:grid sm:grid-cols-3" <>
|
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<%= if @error_message do %>
|
<%= if @error_message do %>
|
||||||
@ -31,7 +30,7 @@
|
|||||||
) %>
|
) %>
|
||||||
<%= checkbox(f, :remember_me, class: "checkbox col-span-2") %>
|
<%= checkbox(f, :remember_me, class: "checkbox col-span-2") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Log in"), class: "mx-auto my-4 btn btn-primary col-span-3") %>
|
<%= submit(dgettext("actions", "Log in"), class: "mx-auto btn btn-primary col-span-3") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr class="hr" />
|
<hr class="hr" />
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<div class="mb-8 flex flex-col justify-center items-center space-y-4">
|
<div class="mx-auto mb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||||
<h1 class="pb-4 title text-primary-600 text-xl">
|
<h1 class="pb-4 title text-primary-600 text-xl">
|
||||||
<%= gettext("Settings") %>
|
<%= gettext("Settings") %>
|
||||||
</h1>
|
</h1>
|
||||||
@ -9,8 +9,7 @@
|
|||||||
Routes.user_settings_path(@conn, :update),
|
Routes.user_settings_path(@conn, :update),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"pb-4 flex flex-col sm:grid sm:grid-cols-3" <>
|
"pb-4 text-center flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
"justify-center items-center text-center space-y-4"
|
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<h3 class="title text-primary-600 text-lg col-span-3">
|
<h3 class="title text-primary-600 text-lg col-span-3">
|
||||||
@ -44,7 +43,7 @@
|
|||||||
<%= error_tag(f, :current_password, "col-span-3") %>
|
<%= error_tag(f, :current_password, "col-span-3") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Change email"),
|
<%= submit(dgettext("actions", "Change email"),
|
||||||
class: "mx-auto my-4 btn btn-primary col-span-3"
|
class: "mx-auto btn btn-primary col-span-3"
|
||||||
) %>
|
) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
@ -54,7 +53,7 @@
|
|||||||
Routes.user_settings_path(@conn, :update),
|
Routes.user_settings_path(@conn, :update),
|
||||||
[
|
[
|
||||||
class:
|
class:
|
||||||
"pb-4 flex flex-col sm:grid sm:grid-cols-3 justify-center items-center text-center space-y-4"
|
"pb-4 text-center flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
],
|
],
|
||||||
fn f -> %>
|
fn f -> %>
|
||||||
<h3 class="title text-primary-600 text-lg col-span-3">
|
<h3 class="title text-primary-600 text-lg col-span-3">
|
||||||
@ -100,7 +99,7 @@
|
|||||||
<%= error_tag(f, :current_password, "col-span-3") %>
|
<%= error_tag(f, :current_password, "col-span-3") %>
|
||||||
|
|
||||||
<%= submit(dgettext("actions", "Change password"),
|
<%= submit(dgettext("actions", "Change password"),
|
||||||
class: "mx-auto my-4 btn btn-primary col-span-3"
|
class: "mx-auto btn btn-primary col-span-3"
|
||||||
) %>
|
) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
@ -31,14 +31,14 @@ msgid "Add your first type!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:17
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:16
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:46
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||||
msgid "Change email"
|
msgid "Change email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:61
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:60
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:102
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||||
msgid "Change password"
|
msgid "Change password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -48,14 +48,14 @@ msgid "Create Invite"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:109
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:108
|
||||||
msgid "Delete User"
|
msgid "Delete User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
#: lib/cannery_web/templates/user_registration/new.html.heex:43
|
||||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||||
#: lib/cannery_web/templates/user_session/new.html.heex:46
|
#: lib/cannery_web/templates/user_session/new.html.heex:45
|
||||||
msgid "Forgot your password?"
|
msgid "Forgot your password?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -66,12 +66,12 @@ msgstr ""
|
|||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:108
|
#: lib/cannery_web/components/topbar.ex:108
|
||||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:30
|
||||||
#: lib/cannery_web/templates/user_registration/new.html.heex:40
|
#: lib/cannery_web/templates/user_registration/new.html.heex:39
|
||||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:49
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:48
|
||||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:30
|
||||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||||
#: lib/cannery_web/templates/user_session/new.html.heex:34
|
#: lib/cannery_web/templates/user_session/new.html.heex:33
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -102,31 +102,31 @@ msgstr ""
|
|||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:101
|
#: lib/cannery_web/components/topbar.ex:101
|
||||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:26
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:25
|
||||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||||
#: lib/cannery_web/templates/user_registration/new.html.heex:34
|
#: lib/cannery_web/templates/user_registration/new.html.heex:33
|
||||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:43
|
||||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:26
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:25
|
||||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
#: lib/cannery_web/templates/user_session/new.html.heex:40
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:3
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:3
|
||||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:17
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:16
|
||||||
msgid "Resend confirmation instructions"
|
msgid "Resend confirmation instructions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:35
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:34
|
||||||
msgid "Reset password"
|
msgid "Reset password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
|
||||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:54
|
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:54
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:175
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:172
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:50
|
#: lib/cannery_web/live/container_live/form_component.html.heex:50
|
||||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
|
||||||
#: lib/cannery_web/live/range_live/form_component.html.heex:40
|
#: lib/cannery_web/live/range_live/form_component.html.heex:40
|
||||||
@ -135,7 +135,7 @@ msgid "Save"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:17
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:16
|
||||||
msgid "Send instructions to reset password"
|
msgid "Send instructions to reset password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -187,6 +187,6 @@ msgid "Select"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:34
|
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -21,7 +21,7 @@ msgid "Access from any internet-capable device"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:91
|
#: lib/cannery_web/live/invite_live/index.html.heex:90
|
||||||
msgid "Admins"
|
msgid "Admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ msgid "Admins:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:53
|
#: lib/cannery_web/components/topbar.ex:52
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:61
|
#: lib/cannery_web/live/range_live/index.html.heex:61
|
||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
@ -54,14 +54,13 @@ msgid "Background color"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:67
|
#: lib/cannery_web/live/ammo_type_live/index.ex:67
|
||||||
msgid "Blank"
|
msgid "Blank"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:74
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:74
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:102
|
|
||||||
msgid "Brass"
|
msgid "Brass"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -108,13 +107,13 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:47
|
#: lib/cannery_web/components/topbar.ex:46
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:161
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:68
|
#: lib/cannery_web/live/ammo_type_live/index.ex:68
|
||||||
msgid "Corrosive"
|
msgid "Corrosive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -144,7 +143,7 @@ msgid "Description:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
#: lib/cannery_web/live/invite_live/index.html.heex:59
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -182,7 +181,7 @@ msgid "Edit Tag"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -197,14 +196,14 @@ msgid "FMJ"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:116
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:113
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:61
|
#: lib/cannery_web/live/ammo_type_live/index.ex:61
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
|
||||||
msgid "Grains"
|
msgid "Grains"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:153
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:66
|
#: lib/cannery_web/live/ammo_type_live/index.ex:66
|
||||||
msgid "Incendiary"
|
msgid "Incendiary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -225,13 +224,13 @@ msgid "Invite Only"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:72
|
#: lib/cannery_web/components/topbar.ex:71
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||||
msgid "Invites"
|
msgid "Invites"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_session/new.html.heex:29
|
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||||
msgid "Keep me logged in for 60 days"
|
msgid "Keep me logged in for 60 days"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -273,12 +272,12 @@ msgid "Magazine, Clip, Ammo Box, etc"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:59
|
#: lib/cannery_web/components/topbar.ex:58
|
||||||
msgid "Manage"
|
msgid "Manage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:165
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:69
|
#: lib/cannery_web/live/ammo_type_live/index.ex:69
|
||||||
msgid "Manufacturer"
|
msgid "Manufacturer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -378,7 +377,7 @@ msgid "On the bookshelf"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:62
|
#: lib/cannery_web/live/ammo_type_live/index.ex:62
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
|
||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
@ -397,7 +396,7 @@ msgid "Price paid:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:63
|
#: lib/cannery_web/live/ammo_type_live/index.ex:63
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
|
||||||
msgid "Primer type"
|
msgid "Primer type"
|
||||||
@ -424,7 +423,7 @@ msgid "Self-host your own instance, or use an instance from someone you trust."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
#: lib/cannery_web/live/invite_live/index.html.heex:79
|
||||||
msgid "Set Unlimited"
|
msgid "Set Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -464,7 +463,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:41
|
#: lib/cannery_web/components/topbar.ex:40
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
@ -491,7 +490,7 @@ msgid "This ammo group is not in a container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:149
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:65
|
#: lib/cannery_web/live/ammo_type_live/index.ex:65
|
||||||
msgid "Tracer"
|
msgid "Tracer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -509,7 +508,7 @@ msgid "Type:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:120
|
#: lib/cannery_web/live/invite_live/index.html.heex:119
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -544,7 +543,7 @@ msgid "No tags for this container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:65
|
#: lib/cannery_web/components/topbar.ex:64
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:39
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:39
|
||||||
msgid "Range"
|
msgid "Range"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -688,7 +687,7 @@ msgid "Muzzle velocity"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:60
|
#: lib/cannery_web/live/ammo_type_live/index.ex:60
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
|
||||||
msgid "Powder grains per charge"
|
msgid "Powder grains per charge"
|
||||||
@ -702,24 +701,24 @@ msgid "Powder type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:171
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:168
|
||||||
#: lib/cannery_web/live/ammo_type_live/index.ex:70
|
#: lib/cannery_web/live/ammo_type_live/index.ex:70
|
||||||
msgid "UPC"
|
msgid "UPC"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:81
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||||
msgid "Confirm new password"
|
msgid "Confirm new password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:34
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:90
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:74
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -734,6 +733,16 @@ msgid "Unstage"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:137
|
||||||
msgid "Firing type"
|
msgid "Firing type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:50
|
||||||
|
msgid "Reconnecting..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:37
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr ""
|
||||||
|
@ -188,6 +188,6 @@ msgid "Select"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:34
|
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -22,7 +22,7 @@ msgid "Access from any internet-capable device"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:91
|
#: lib/cannery_web/live/invite_live/index.html.heex:90
|
||||||
msgid "Admins"
|
msgid "Admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ msgid "Admins:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:53
|
#: lib/cannery_web/components/topbar.ex:52
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:61
|
#: lib/cannery_web/live/range_live/index.html.heex:61
|
||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
@ -109,7 +109,7 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:47
|
#: lib/cannery_web/components/topbar.ex:46
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -145,7 +145,7 @@ msgid "Description:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
#: lib/cannery_web/live/invite_live/index.html.heex:59
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ msgid "Edit Tag"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ msgid "Invite Only"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:72
|
#: lib/cannery_web/components/topbar.ex:71
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||||
msgid "Invites"
|
msgid "Invites"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -274,7 +274,7 @@ msgid "Magazine, Clip, Ammo Box, etc"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:59
|
#: lib/cannery_web/components/topbar.ex:58
|
||||||
msgid "Manage"
|
msgid "Manage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -425,7 +425,7 @@ msgid "Self-host your own instance, or use an instance from someone you trust."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
#: lib/cannery_web/live/invite_live/index.html.heex:79
|
||||||
msgid "Set Unlimited"
|
msgid "Set Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -465,7 +465,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:41
|
#: lib/cannery_web/components/topbar.ex:40
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
@ -510,7 +510,7 @@ msgid "Type:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:120
|
#: lib/cannery_web/live/invite_live/index.html.heex:119
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -545,7 +545,7 @@ msgid "No tags for this container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:65
|
#: lib/cannery_web/components/topbar.ex:64
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:39
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:39
|
||||||
msgid "Range"
|
msgid "Range"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -738,3 +738,13 @@ msgstr ""
|
|||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
|
||||||
msgid "Firing type"
|
msgid "Firing type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:50
|
||||||
|
msgid "Reconnecting..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:37
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr ""
|
||||||
|
@ -79,8 +79,8 @@ msgid "Ammo group updated successfully"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:103
|
#: lib/cannery_web/live/invite_live/index.html.heex:102
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:132
|
#: lib/cannery_web/live/invite_live/index.html.heex:131
|
||||||
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 ""
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ msgid "Are you sure you want to delete %{name}?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:50
|
#: lib/cannery_web/live/invite_live/index.html.heex:49
|
||||||
msgid "Are you sure you want to delete the invite for %{name}?"
|
msgid "Are you sure you want to delete the invite for %{name}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -110,12 +110,12 @@ msgid "Are you sure you want to delete your account?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:87
|
#: lib/cannery_web/components/topbar.ex:86
|
||||||
msgid "Are you sure you want to log out?"
|
msgid "Are you sure you want to log out?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:75
|
#: lib/cannery_web/live/invite_live/index.html.heex:74
|
||||||
msgid "Are you sure you want to make %{name} unlimited?"
|
msgid "Are you sure you want to make %{name} unlimited?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -57,10 +57,10 @@ msgid "Not found"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_registration/new.html.heex:17
|
#: lib/cannery_web/templates/user_registration/new.html.heex:16
|
||||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:17
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:66
|
||||||
msgid "Oops, something went wrong! Please check the errors below."
|
msgid "Oops, something went wrong! Please check the errors below."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -78,8 +78,8 @@ msgid "Ammo group updated successfully"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:103
|
#: lib/cannery_web/live/invite_live/index.html.heex:102
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:132
|
#: lib/cannery_web/live/invite_live/index.html.heex:131
|
||||||
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 ""
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ msgid "Are you sure you want to delete %{name}?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:50
|
#: lib/cannery_web/live/invite_live/index.html.heex:49
|
||||||
msgid "Are you sure you want to delete the invite for %{name}?"
|
msgid "Are you sure you want to delete the invite for %{name}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -104,17 +104,17 @@ msgid "Are you sure you want to delete this ammo?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:113
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:112
|
||||||
msgid "Are you sure you want to delete your account?"
|
msgid "Are you sure you want to delete your account?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/topbar.ex:87
|
#: lib/cannery_web/components/topbar.ex:86
|
||||||
msgid "Are you sure you want to log out?"
|
msgid "Are you sure you want to log out?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:75
|
#: lib/cannery_web/live/invite_live/index.html.heex:74
|
||||||
msgid "Are you sure you want to make %{name} unlimited?"
|
msgid "Are you sure you want to make %{name} unlimited?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:44
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:44
|
||||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:55
|
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:55
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:176
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:52
|
#: lib/cannery_web/live/container_live/form_component.html.heex:52
|
||||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:30
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:30
|
||||||
#: lib/cannery_web/live/range_live/form_component.html.heex:42
|
#: lib/cannery_web/live/range_live/form_component.html.heex:42
|
||||||
|
@ -56,8 +56,8 @@ defmodule Cannery.Fixtures do
|
|||||||
|> Atom.to_string()
|
|> Atom.to_string()
|
||||||
|> Email.generate_email(Accounts.get_user!(user_id), attrs)
|
|> Email.generate_email(Accounts.get_user!(user_id), attrs)
|
||||||
|
|
||||||
[_, html_token, _] = email.html_body |> String.split("[TOKEN]")
|
[_, html_token | _] = email.html_body |> String.split("[TOKEN]")
|
||||||
[_, text_token, _] = email.text_body |> String.split("[TOKEN]")
|
[_, text_token | _] = email.text_body |> String.split("[TOKEN]")
|
||||||
^text_token = html_token
|
^text_token = html_token
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user