add date range to range page
This commit is contained in:
parent
839e1d7124
commit
f869da8a80
@ -1,4 +1,5 @@
|
||||
# v0.9.13
|
||||
- Add date restriction dropdown to range page
|
||||
- Fix dates not rendering properly in table
|
||||
- Update deps
|
||||
|
||||
|
@ -25,6 +25,7 @@ import 'phoenix_html'
|
||||
import { Socket } from 'phoenix'
|
||||
import { LiveSocket } from 'phoenix_live_view'
|
||||
import Date from './date'
|
||||
import DateRange from './date_range'
|
||||
import DateTime from './datetime'
|
||||
import ShotLogChart from './shot_log_chart'
|
||||
import SlimSelect from './slim_select'
|
||||
@ -33,7 +34,7 @@ import topbar from 'topbar'
|
||||
const csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute('content')
|
||||
const liveSocket = new LiveSocket('/live', Socket, {
|
||||
params: { _csrf_token: csrfToken },
|
||||
hooks: { Date, DateTime, ShotLogChart, SlimSelect }
|
||||
hooks: { Date, DateRange, DateTime, ShotLogChart, SlimSelect }
|
||||
})
|
||||
|
||||
// Show progress bar on live navigation and form submits
|
||||
|
28
assets/js/date_range.js
Normal file
28
assets/js/date_range.js
Normal file
@ -0,0 +1,28 @@
|
||||
import { easepick } from '@easepick/core'
|
||||
import { RangePlugin } from '@easepick/range-plugin'
|
||||
|
||||
export default {
|
||||
displayDateRange (el) {
|
||||
// eslint-disable-next-line new-cap
|
||||
el.easepick = new easepick.create({
|
||||
element: el.firstElementChild,
|
||||
css: [
|
||||
'https://cdn.jsdelivr.net/npm/@easepick/core@1.2.1/dist/index.css',
|
||||
'https://cdn.jsdelivr.net/npm/@easepick/range-plugin@1.2.1/dist/index.css'
|
||||
],
|
||||
plugins: [RangePlugin],
|
||||
RangePlugin: {
|
||||
elementEnd: el.lastElementChild,
|
||||
startDate: el.dataset.startDate,
|
||||
endDate: el.dataset.endDate
|
||||
},
|
||||
setup (picker) {
|
||||
picker.on('select', (e) => {
|
||||
el.firstElementChild.dispatchEvent(new Event('input', { bubbles: true }))
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
mounted () { this.displayDateRange(this.el) },
|
||||
updated () { this.displayDateRange(this.el) }
|
||||
}
|
97
assets/package-lock.json
generated
97
assets/package-lock.json
generated
@ -6,6 +6,7 @@
|
||||
"": {
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@easepick/bundle": "^1.2.1",
|
||||
"@fortawesome/fontawesome-free": "^6.7.2",
|
||||
"chart.js": "^4.4.7",
|
||||
"chartjs-adapter-date-fns": "^3.0.0",
|
||||
@ -2766,6 +2767,102 @@
|
||||
"node": ">=14.17.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/amp-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/amp-plugin/-/amp-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-LbGd7RU+fiucxTqJnBpT5SwACX1BoEK4yi1joLqN50O57jpN0jQMMvDO/vp/F4Zr8MO6kwaamRmOXhqo/Vb4aw==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/base-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/base-plugin/-/base-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-aonBQaRyZwNH/gmPzSzZDVjQjgy/rxWd+TXnM0E3Nxkeu4yMbXV+GnWVQbBwTvJx74M7iSCHJowdmZ5T46B7Vg==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/core": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/bundle": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/bundle/-/bundle-1.2.1.tgz",
|
||||
"integrity": "sha512-M9DGu7rrIltbTEPuBfc8fTOdK1E2CjTIiSqXmVRcof/peDnDC7U7h3XaTx7nbB0gq4HUTUO8BKHrofPC0jPqSw==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/amp-plugin": "^1.1.0",
|
||||
"@easepick/base-plugin": "^1.1.0",
|
||||
"@easepick/core": "^1.1.0",
|
||||
"@easepick/datetime": "^1.1.0",
|
||||
"@easepick/kbd-plugin": "^1.1.0",
|
||||
"@easepick/lock-plugin": "^1.1.0",
|
||||
"@easepick/preset-plugin": "^1.1.0",
|
||||
"@easepick/range-plugin": "^1.1.0",
|
||||
"@easepick/time-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/core": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/core/-/core-1.2.1.tgz",
|
||||
"integrity": "sha512-V/blEia/ykAq+0mnQ9djOU5wvMZ+iffL5iuQrKLObpMOw38kL/qo4inH4pCbB3wm7sDjrJTuDKf+6+FrgdFGsw==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/datetime": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/datetime": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/datetime/-/datetime-1.2.1.tgz",
|
||||
"integrity": "sha512-KIUvWo/kEipwBqPTazjfUf6R7dKb2ztPizPoB/0ZMYz3HrWJptsLSZQma3R1nM/zkaexnk/e4L4nX+vDjwBtYA==",
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"node_modules/@easepick/kbd-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/kbd-plugin/-/kbd-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-t/bEtKuvAbo9b9iw4J5h5DsGYEL4Wm2sLA2VzR2rvmMfJuo1extktgzw2eCy+w6Q/s4ObdKzhXLnjMvFeiJ8Xg==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/lock-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/lock-plugin/-/lock-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-6sJCdliMpnQtzL9dwznS9vYaQUy66VRKPZ+jFdVR1ohiNUVM6C7dSGdG3dPntVTywTy2Z9uU+yJOeWcVFDT61A==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/preset-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/preset-plugin/-/preset-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-VAnjyWpf39kXTR6DYbpCJIBeBhbOgRoNTqntpSb5uF9O398KuHUpIM4Ep1id3fTIlfnRrKxzp54rAFwvc48eCA==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0",
|
||||
"@easepick/range-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/range-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/range-plugin/-/range-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-yEHLUq32Kj0exLz4txxchALQVJUbwyXvnovfN7yxTrCJLpi6uMmPXcW4lyYig2P9+xM9JqF6JsNqOsi0+5GlHQ==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@easepick/time-plugin": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@easepick/time-plugin/-/time-plugin-1.2.1.tgz",
|
||||
"integrity": "sha512-mjynAAppLxlqiDSdHdkBEqi4A67CH17FqO3UH2n6mfAIKPZLQA7R8Y6jEkp+Fpl5tj0/HFqdrk82ceiYYnLFYw==",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": {
|
||||
"@easepick/base-plugin": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"test": "standard"
|
||||
},
|
||||
"dependencies": {
|
||||
"@easepick/bundle": "^1.2.1",
|
||||
"@fortawesome/fontawesome-free": "^6.7.2",
|
||||
"chart.js": "^4.4.7",
|
||||
"chartjs-adapter-date-fns": "^3.0.0",
|
||||
|
@ -19,6 +19,8 @@ module.exports = {
|
||||
},
|
||||
extend: {
|
||||
spacing: {
|
||||
30: '7.5rem',
|
||||
31: '7.75rem',
|
||||
128: '32rem',
|
||||
192: '48rem',
|
||||
256: '64rem'
|
||||
|
@ -9,6 +9,8 @@ defmodule Cannery.ActivityLog do
|
||||
@type list_shot_records_option ::
|
||||
{:search, String.t() | nil}
|
||||
| {:class, Type.class() | :all | nil}
|
||||
| {:start_date, String.t() | nil}
|
||||
| {:end_date, String.t() | nil}
|
||||
| {:pack_id, Pack.id() | nil}
|
||||
@type list_shot_records_options :: [list_shot_records_option()]
|
||||
|
||||
@ -49,6 +51,8 @@ defmodule Cannery.ActivityLog do
|
||||
|> list_shot_records_search(Keyword.get(opts, :search))
|
||||
|> list_shot_records_class(Keyword.get(opts, :class))
|
||||
|> list_shot_records_pack_id(Keyword.get(opts, :pack_id))
|
||||
|> list_shot_records_start_date(Keyword.get(opts, :start_date))
|
||||
|> list_shot_records_end_date(Keyword.get(opts, :end_date))
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@ -100,6 +104,20 @@ defmodule Cannery.ActivityLog do
|
||||
|
||||
defp list_shot_records_pack_id(query, _all), do: query
|
||||
|
||||
@spec list_shot_records_start_date(Queryable.t(), String.t() | nil) :: Queryable.t()
|
||||
defp list_shot_records_start_date(query, start_date) when start_date |> is_binary() do
|
||||
query |> where([sr: sr], sr.date >= ^Date.from_iso8601!(start_date))
|
||||
end
|
||||
|
||||
defp list_shot_records_start_date(query, _all), do: query
|
||||
|
||||
@spec list_shot_records_end_date(Queryable.t(), String.t() | nil) :: Queryable.t()
|
||||
defp list_shot_records_end_date(query, end_date) when end_date |> is_binary() do
|
||||
query |> where([sr: sr], sr.date <= ^Date.from_iso8601!(end_date))
|
||||
end
|
||||
|
||||
defp list_shot_records_end_date(query, _all), do: query
|
||||
|
||||
@doc """
|
||||
Returns a count of shot records.
|
||||
|
||||
|
@ -141,6 +141,20 @@ defmodule CanneryWeb.CoreComponents do
|
||||
"""
|
||||
def datetime(assigns)
|
||||
|
||||
attr :id, :string, required: true
|
||||
attr :name, :string, required: true
|
||||
|
||||
attr :start_date, :string,
|
||||
default: Date.utc_today() |> Date.shift(year: -1) |> Date.to_iso8601()
|
||||
|
||||
attr :end_date, :string, default: Date.utc_today() |> Date.to_iso8601()
|
||||
|
||||
@doc """
|
||||
Phoenix.Component for a <time> element that renders the naivedatetime in the
|
||||
user's local timezone
|
||||
"""
|
||||
def date_range(assigns)
|
||||
|
||||
@spec cast_datetime(NaiveDateTime.t() | nil) :: String.t()
|
||||
defp cast_datetime(%NaiveDateTime{} = datetime) do
|
||||
datetime |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_iso8601(:extended)
|
||||
|
@ -0,0 +1,12 @@
|
||||
<div
|
||||
class="flex items-center mx-4 my-2 space-x-1"
|
||||
data-end-date={@end_date}
|
||||
data-start-date={@start_date}
|
||||
id={@id}
|
||||
phx-hook="DateRange"
|
||||
phx-update="ignore"
|
||||
>
|
||||
<input class="text-center w-31 input input-primary" name={"#{@name}_start"} />
|
||||
<span>—</span>
|
||||
<input class="text-center w-31 input input-primary" name={"#{@name}_end"} />
|
||||
</div>
|
@ -9,11 +9,31 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
|
||||
@impl true
|
||||
def mount(%{"search" => search}, _session, socket) do
|
||||
{:ok, socket |> assign(class: :all, search: search) |> display_shot_records()}
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
class: :all,
|
||||
start_date: Date.shift(Date.utc_today(), year: -1),
|
||||
end_date: Date.utc_today(),
|
||||
search: search
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:ok, socket}
|
||||
end
|
||||
|
||||
def mount(_params, _session, socket) do
|
||||
{:ok, socket |> assign(class: :all, search: nil) |> display_shot_records()}
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
class: :all,
|
||||
start_date: Date.shift(Date.utc_today(), year: -1),
|
||||
end_date: Date.utc_today(),
|
||||
search: nil
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:ok, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
@ -116,11 +136,45 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
{:noreply, socket |> assign(:class, :all) |> display_shot_records()}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"change_dates",
|
||||
%{
|
||||
"dates_start" => start_date,
|
||||
"dates_end" => end_date
|
||||
},
|
||||
socket
|
||||
) do
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
start_date: start_date,
|
||||
end_date: end_date
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@spec display_shot_records(Socket.t()) :: Socket.t()
|
||||
defp display_shot_records(
|
||||
%{assigns: %{class: class, search: search, current_user: current_user}} = socket
|
||||
%{
|
||||
assigns: %{
|
||||
class: class,
|
||||
start_date: start_date,
|
||||
end_date: end_date,
|
||||
search: search,
|
||||
current_user: current_user
|
||||
}
|
||||
} = socket
|
||||
) do
|
||||
shot_records = ActivityLog.list_shot_records(current_user, search: search, class: class)
|
||||
shot_records =
|
||||
ActivityLog.list_shot_records(current_user,
|
||||
class: class,
|
||||
end_date: end_date,
|
||||
search: search,
|
||||
start_date: start_date
|
||||
)
|
||||
|
||||
packs = Ammo.list_packs(current_user, staged: true)
|
||||
chart_data = shot_records |> get_chart_data_for_shot_record()
|
||||
original_counts = packs |> Ammo.get_original_counts(current_user)
|
||||
@ -153,6 +207,5 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
label: gettext("Rounds shot: %{count}", count: sum)
|
||||
}
|
||||
end)
|
||||
|> Enum.sort_by(fn %{date: date} -> date end, Date)
|
||||
end
|
||||
end
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="flex flex-col space-y-8 justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center space-y-8">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= gettext("Range day") %>
|
||||
</h1>
|
||||
|
||||
<%= if @packs |> Enum.empty?() do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No ammo staged") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
@ -17,7 +17,7 @@
|
||||
<%= dgettext("actions", "Stage ammo") %>
|
||||
</.link>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
|
||||
<.pack_card
|
||||
:for={%{id: pack_id} = pack <- @packs}
|
||||
pack={pack}
|
||||
@ -48,12 +48,12 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<%= if @shot_record_count == 0 do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No shots recorded") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
<% else %>
|
||||
<h1 class="title text-2xl text-primary-600">
|
||||
<h1 class="text-2xl title text-primary-600">
|
||||
<%= gettext("Shot log") %>
|
||||
</h1>
|
||||
|
||||
@ -71,7 +71,7 @@
|
||||
<%= dgettext("errors", "Your browser does not support the canvas element.") %>
|
||||
</canvas>
|
||||
|
||||
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
|
||||
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
@ -104,7 +104,7 @@
|
||||
as={:search}
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow flex items-center"
|
||||
class="flex items-center grow"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "grow input input-primary",
|
||||
@ -114,10 +114,25 @@
|
||||
value: @search
|
||||
) %>
|
||||
</.form>
|
||||
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
as={:shot_records}
|
||||
phx-change="change_dates"
|
||||
phx-submit="change_dates"
|
||||
class="flex items-center"
|
||||
>
|
||||
<%= label(f, :dates_start, gettext("Dates"),
|
||||
class: "title text-primary-600 text-lg text-center"
|
||||
) %>
|
||||
|
||||
<.date_range id="shot-record-range-picker" name="dates" />
|
||||
</.form>
|
||||
</div>
|
||||
|
||||
<%= if @shot_records |> Enum.empty?() do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No shots recorded") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
@ -129,7 +144,7 @@
|
||||
current_user={@current_user}
|
||||
>
|
||||
<:actions :let={shot_record}>
|
||||
<div class="px-4 py-2 space-x-4 flex justify-center items-center">
|
||||
<div class="flex justify-center items-center px-4 py-2 space-x-4">
|
||||
<.link
|
||||
patch={~p"/range/edit/#{shot_record}"}
|
||||
class="text-primary-600 link"
|
||||
|
@ -313,13 +313,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -326,13 +326,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -426,8 +426,8 @@ msgstr "Keine Tags für diesen Behälter"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Schießplatz"
|
||||
@ -462,7 +462,7 @@ msgid "Record shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Keine Schüsse dokumentiert"
|
||||
@ -647,8 +647,8 @@ msgid "Reset your password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
@ -762,7 +762,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Patronen abgefeuert"
|
||||
@ -1413,7 +1413,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Schießkladde editieren"
|
||||
@ -1451,3 +1451,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Datum"
|
||||
|
@ -177,13 +177,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Schießkladde erfolgreich gelöscht"
|
||||
@ -240,7 +240,7 @@ msgstr "Spracheinstellung gespeichert."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munitionsgruppe erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munition erfolgreich demarkiert"
|
||||
|
@ -420,8 +420,8 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -456,7 +456,7 @@ msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -641,8 +641,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -756,7 +756,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -1396,7 +1396,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1434,3 +1434,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
@ -313,13 +313,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -420,8 +420,8 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -456,7 +456,7 @@ msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -641,8 +641,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -756,7 +756,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -1396,7 +1396,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1434,3 +1434,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
@ -156,13 +156,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -219,7 +219,7 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
@ -326,13 +326,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -427,8 +427,8 @@ msgstr "Contenedor sin etiquetas"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Campo de tiro"
|
||||
@ -463,7 +463,7 @@ msgid "Record shots"
|
||||
msgstr "Tiros récord"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "No se han grabado tiros"
|
||||
@ -648,8 +648,8 @@ msgid "Reset your password"
|
||||
msgstr "Reestablecer contraseña"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Tiros Récord"
|
||||
@ -764,7 +764,7 @@ msgstr "Mostrar usadas"
|
||||
msgid "%{percentage}%"
|
||||
msgstr "%{percentage}%"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Balas disparadas: %{count}"
|
||||
@ -1415,7 +1415,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Editar Tiros Récord"
|
||||
@ -1453,3 +1453,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Fecha"
|
||||
|
@ -176,13 +176,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Está seguro que desea desmontar esta munición?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "¿Está segure que quiere borrar este récord de disparos?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Récord de disparos borrado exitosamente"
|
||||
@ -239,7 +239,7 @@ msgstr "Idioma cambiado exitosamente."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munición borrada exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munición descargada exitosamente"
|
||||
|
@ -326,13 +326,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -428,8 +428,8 @@ msgstr "Aucun tag pour ce conteneur"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Portée"
|
||||
@ -464,7 +464,7 @@ msgid "Record shots"
|
||||
msgstr "Tirs enregistrés"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Aucun tir enregistré"
|
||||
@ -649,8 +649,8 @@ msgid "Reset your password"
|
||||
msgstr "Réinitialiser votre mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Enregistrer des tirs"
|
||||
@ -765,7 +765,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Cartouches tirées"
|
||||
@ -1416,7 +1416,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Modifier les enregistrements de tir"
|
||||
@ -1454,3 +1454,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Date"
|
||||
|
@ -178,13 +178,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Enregistrements de tir supprimés avec succès"
|
||||
@ -241,7 +241,7 @@ msgstr "Langue mise à jour avec succès."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Groupe de munition supprimé avec succès"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Groupe de munition désélectionner avec succès"
|
||||
|
@ -324,13 +324,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -422,8 +422,8 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -458,7 +458,7 @@ msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -643,8 +643,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -758,7 +758,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -1407,7 +1407,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1445,3 +1445,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
@ -167,13 +167,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -230,7 +230,7 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
@ -324,13 +324,13 @@ msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:152
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
@ -431,8 +431,8 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:75
|
||||
#: lib/cannery_web/live/range_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -467,7 +467,7 @@ msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -652,8 +652,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:51
|
||||
#: lib/cannery_web/live/range_live/index.ex:67
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -767,7 +767,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:207
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -1407,7 +1407,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1445,3 +1445,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:126
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
@ -167,13 +167,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -230,7 +230,7 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
@ -156,13 +156,13 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/range_live/index.ex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -219,7 +219,7 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#: lib/cannery_web/live/range_live/index.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user