Compare commits
10 Commits
cb4de9a6ff
...
db4b3fab24
Author | SHA1 | Date | |
---|---|---|---|
db4b3fab24 | |||
d86f5a6d98 | |||
9420337228 | |||
e2a4dc4b92 | |||
175eef95fb | |||
ba8d7988b3 | |||
1f017ced4a | |||
67304ae22e | |||
30da5bc4f7 | |||
580d703f12 |
@ -1,3 +1,3 @@
|
|||||||
elixir 1.14.1-otp-25
|
elixir 1.14.1-otp-25
|
||||||
erlang 25.1.2
|
erlang 25.1.2
|
||||||
nodejs 16.13.2
|
nodejs 18.12.1
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# v0.5.5
|
# v0.6.0
|
||||||
- Update translations
|
- Update translations
|
||||||
- Display used-up date on used-up ammo
|
- Display used-up date on used-up ammo
|
||||||
- Make ammo index page a bit more compact
|
- Make ammo index page a bit more compact
|
||||||
@ -10,7 +10,8 @@
|
|||||||
- Make container show page a bit more compact
|
- Make container show page a bit more compact
|
||||||
- Make container show page filter used-up ammo
|
- Make container show page filter used-up ammo
|
||||||
- Forgot to add the logo as the favicon whoops
|
- Forgot to add the logo as the favicon whoops
|
||||||
- Update project dependencies, use Elixir v1.14.1
|
- Add graph to range page
|
||||||
|
- Update project dependencies
|
||||||
|
|
||||||
# v0.5.4
|
# v0.5.4
|
||||||
- Rename "Ammo" tab to "Catalog", and "Manage" tab is now "Ammo"
|
- Rename "Ammo" tab to "Catalog", and "Manage" tab is now "Ammo"
|
||||||
|
@ -26,6 +26,7 @@ import { Socket } from 'phoenix'
|
|||||||
import { LiveSocket } from 'phoenix_live_view'
|
import { LiveSocket } from 'phoenix_live_view'
|
||||||
import topbar from '../vendor/topbar'
|
import topbar from '../vendor/topbar'
|
||||||
import MaintainAttrs from './maintain_attrs'
|
import MaintainAttrs from './maintain_attrs'
|
||||||
|
import ShotLogChart from './shot_log_chart'
|
||||||
import Alpine from 'alpinejs'
|
import Alpine from 'alpinejs'
|
||||||
|
|
||||||
const csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute('content')
|
const csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute('content')
|
||||||
@ -36,7 +37,7 @@ const liveSocket = new LiveSocket('/live', Socket, {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
params: { _csrf_token: csrfToken },
|
params: { _csrf_token: csrfToken },
|
||||||
hooks: { MaintainAttrs }
|
hooks: { MaintainAttrs, ShotLogChart }
|
||||||
})
|
})
|
||||||
|
|
||||||
// alpine.js
|
// alpine.js
|
||||||
|
83
assets/js/shot_log_chart.js
Normal file
83
assets/js/shot_log_chart.js
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
import { Chart, Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale } from 'chart.js'
|
||||||
|
import 'chartjs-adapter-date-fns'
|
||||||
|
Chart.register(Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale)
|
||||||
|
|
||||||
|
export default {
|
||||||
|
initalizeChart (el) {
|
||||||
|
const data = JSON.parse(el.dataset.chartData)
|
||||||
|
|
||||||
|
this.el.chart = new Chart(el, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
datasets: [{
|
||||||
|
label: el.dataset.label,
|
||||||
|
data: data.map(({ date, count, labels }) => ({
|
||||||
|
labels,
|
||||||
|
x: date,
|
||||||
|
y: count
|
||||||
|
})),
|
||||||
|
backgroundColor: el.dataset.color,
|
||||||
|
borderColor: el.dataset.color,
|
||||||
|
fill: true,
|
||||||
|
borderWidth: 4
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
elements: {
|
||||||
|
point: {
|
||||||
|
radius: 7,
|
||||||
|
hoverRadius: 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
position: 'bottom',
|
||||||
|
labels: {
|
||||||
|
padding: 20
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
displayColors: false,
|
||||||
|
callbacks: {
|
||||||
|
label: ({ raw: { labels } }) => labels
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
y: {
|
||||||
|
beginAtZero: true,
|
||||||
|
stacked: true,
|
||||||
|
grace: '15%',
|
||||||
|
ticks: {
|
||||||
|
padding: 15
|
||||||
|
}
|
||||||
|
},
|
||||||
|
x: {
|
||||||
|
type: 'time',
|
||||||
|
time: {
|
||||||
|
unit: 'day'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
transitions: {
|
||||||
|
show: {
|
||||||
|
animations: {
|
||||||
|
x: {
|
||||||
|
from: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hide: {
|
||||||
|
animations: {
|
||||||
|
x: {
|
||||||
|
to: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
mounted () { this.initalizeChart(this.el) },
|
||||||
|
updated () { this.initalizeChart(this.el) }
|
||||||
|
}
|
52
assets/package-lock.json
generated
52
assets/package-lock.json
generated
@ -8,6 +8,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||||
"alpinejs": "^3.10.2",
|
"alpinejs": "^3.10.2",
|
||||||
|
"chart.js": "^3.9.1",
|
||||||
|
"chartjs-adapter-date-fns": "^2.0.0",
|
||||||
|
"date-fns": "^2.29.3",
|
||||||
"phoenix": "file:../deps/phoenix",
|
"phoenix": "file:../deps/phoenix",
|
||||||
"phoenix_html": "file:../deps/phoenix_html",
|
"phoenix_html": "file:../deps/phoenix_html",
|
||||||
"phoenix_live_view": "file:../deps/phoenix_live_view",
|
"phoenix_live_view": "file:../deps/phoenix_live_view",
|
||||||
@ -35,17 +38,21 @@
|
|||||||
"webpack": "^5.72.0",
|
"webpack": "^5.72.0",
|
||||||
"webpack-cli": "^4.9.2",
|
"webpack-cli": "^4.9.2",
|
||||||
"webpack-dev-server": "^4.9.0"
|
"webpack-dev-server": "^4.9.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "18.12.1",
|
||||||
|
"npm": "8.19.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"../deps/phoenix": {
|
"../deps/phoenix": {
|
||||||
"version": "1.6.8",
|
"version": "1.6.15",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"../deps/phoenix_html": {
|
"../deps/phoenix_html": {
|
||||||
"version": "3.2.0"
|
"version": "3.2.0"
|
||||||
},
|
},
|
||||||
"../deps/phoenix_live_view": {
|
"../deps/phoenix_live_view": {
|
||||||
"version": "0.17.9",
|
"version": "0.18.2",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
@ -3162,6 +3169,19 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/chart.js": {
|
||||||
|
"version": "3.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
|
||||||
|
"integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w=="
|
||||||
|
},
|
||||||
|
"node_modules/chartjs-adapter-date-fns": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rmZINGLe+9IiiEB0kb57vH3UugAtYw33anRiw5kS2Tu87agpetDDoouquycWc9pRsKtQo5j+vLsYHyr8etAvFw==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"chart.js": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/chokidar": {
|
"node_modules/chokidar": {
|
||||||
"version": "3.5.3",
|
"version": "3.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||||
@ -3846,6 +3866,18 @@
|
|||||||
"node": ">=8.0.0"
|
"node": ">=8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/date-fns": {
|
||||||
|
"version": "2.29.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz",
|
||||||
|
"integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.11"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/date-fns"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
@ -12533,6 +12565,17 @@
|
|||||||
"supports-color": "^5.3.0"
|
"supports-color": "^5.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"chart.js": {
|
||||||
|
"version": "3.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
|
||||||
|
"integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w=="
|
||||||
|
},
|
||||||
|
"chartjs-adapter-date-fns": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rmZINGLe+9IiiEB0kb57vH3UugAtYw33anRiw5kS2Tu87agpetDDoouquycWc9pRsKtQo5j+vLsYHyr8etAvFw==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"chokidar": {
|
"chokidar": {
|
||||||
"version": "3.5.3",
|
"version": "3.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||||
@ -13021,6 +13064,11 @@
|
|||||||
"css-tree": "^1.1.2"
|
"css-tree": "^1.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"date-fns": {
|
||||||
|
"version": "2.29.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz",
|
||||||
|
"integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA=="
|
||||||
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
"repository": {},
|
"repository": {},
|
||||||
"description": " ",
|
"description": " ",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "18.12.1",
|
||||||
|
"npm": "8.19.2"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"deploy": "NODE_ENV=production webpack --mode production",
|
"deploy": "NODE_ENV=production webpack --mode production",
|
||||||
"watch": "webpack --mode development --watch --watch-options-stdin",
|
"watch": "webpack --mode development --watch --watch-options-stdin",
|
||||||
@ -11,6 +15,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||||
"alpinejs": "^3.10.2",
|
"alpinejs": "^3.10.2",
|
||||||
|
"chart.js": "^3.9.1",
|
||||||
|
"chartjs-adapter-date-fns": "^2.0.0",
|
||||||
|
"date-fns": "^2.29.3",
|
||||||
"phoenix": "file:../deps/phoenix",
|
"phoenix": "file:../deps/phoenix",
|
||||||
"phoenix_html": "file:../deps/phoenix_html",
|
"phoenix_html": "file:../deps/phoenix_html",
|
||||||
"phoenix_live_view": "file:../deps/phoenix_live_view",
|
"phoenix_live_view": "file:../deps/phoenix_live_view",
|
||||||
|
@ -58,7 +58,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
|
|||||||
|> cast(attrs, [:count, :notes, :date])
|
|> cast(attrs, [:count, :notes, :date])
|
||||||
|> validate_number(:count, greater_than: 0)
|
|> validate_number(:count, greater_than: 0)
|
||||||
|> validate_create_shot_group_count(ammo_group)
|
|> validate_create_shot_group_count(ammo_group)
|
||||||
|> validate_required([:count, :ammo_group_id, :user_id])
|
|> validate_required([:count, :date, :ammo_group_id, :user_id])
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_changeset(shot_group, _invalid_user, _invalid_ammo_group, attrs) do
|
def create_changeset(shot_group, _invalid_user, _invalid_ammo_group, attrs) do
|
||||||
@ -90,7 +90,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
|
|||||||
shot_group
|
shot_group
|
||||||
|> cast(attrs, [:count, :notes, :date])
|
|> cast(attrs, [:count, :notes, :date])
|
||||||
|> validate_number(:count, greater_than: 0)
|
|> validate_number(:count, greater_than: 0)
|
||||||
|> validate_required([:count])
|
|> validate_required([:count, :date])
|
||||||
|> validate_update_shot_group_count(shot_group, user)
|
|> validate_update_shot_group_count(shot_group, user)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -120,18 +120,4 @@ defmodule Cannery.Tags do
|
|||||||
"""
|
"""
|
||||||
@spec delete_tag!(Tag.t(), User.t()) :: Tag.t()
|
@spec delete_tag!(Tag.t(), User.t()) :: Tag.t()
|
||||||
def delete_tag!(%Tag{user_id: user_id} = tag, %User{id: user_id}), do: tag |> Repo.delete!()
|
def delete_tag!(%Tag{user_id: user_id} = tag, %User{id: user_id}), do: tag |> Repo.delete!()
|
||||||
|
|
||||||
@doc """
|
|
||||||
Get a random tag bg_color in `#ffffff` hex format
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
iex> random_color()
|
|
||||||
"#cc0066"
|
|
||||||
"""
|
|
||||||
@spec random_bg_color() :: <<_::7>>
|
|
||||||
def random_bg_color do
|
|
||||||
["#cc0066", "#ff6699", "#6666ff", "#0066cc", "#00cc66", "#669900", "#ff9900", "#996633"]
|
|
||||||
|> Enum.random()
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
@ -4,9 +4,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
use CanneryWeb, :component
|
use CanneryWeb, :component
|
||||||
alias Cannery.{Ammo, Repo}
|
alias Cannery.{Ammo, Ammo.AmmoGroup, Repo}
|
||||||
alias CanneryWeb.Endpoint
|
alias CanneryWeb.Endpoint
|
||||||
|
|
||||||
|
attr :ammo_group, AmmoGroup, required: true
|
||||||
|
attr :show_container, :boolean, default: false
|
||||||
|
slot(:inner_block)
|
||||||
|
|
||||||
def ammo_group_card(%{ammo_group: ammo_group} = assigns) do
|
def ammo_group_card(%{ammo_group: ammo_group} = assigns) do
|
||||||
assigns =
|
assigns =
|
||||||
%{show_container: show_container} = assigns |> assign_new(:show_container, fn -> false end)
|
%{show_container: show_container} = assigns |> assign_new(:show_container, fn -> false end)
|
||||||
|
@ -5,11 +5,20 @@ defmodule CanneryWeb.Components.ContainerCard do
|
|||||||
|
|
||||||
use CanneryWeb, :component
|
use CanneryWeb, :component
|
||||||
import CanneryWeb.Components.TagCard
|
import CanneryWeb.Components.TagCard
|
||||||
alias Cannery.{Containers, Repo}
|
alias Cannery.{Containers, Containers.Container, Repo}
|
||||||
alias CanneryWeb.Endpoint
|
alias CanneryWeb.Endpoint
|
||||||
|
alias Phoenix.LiveView.Rendered
|
||||||
|
|
||||||
|
attr :container, Container, required: true
|
||||||
|
slot(:tag_actions)
|
||||||
|
slot(:inner_block)
|
||||||
|
|
||||||
|
@spec container_card(assigns :: map()) :: Rendered.t()
|
||||||
def container_card(%{container: container} = assigns) do
|
def container_card(%{container: container} = assigns) do
|
||||||
assigns = assigns |> Map.put(:container, container |> Repo.preload([:tags, :ammo_groups]))
|
assigns =
|
||||||
|
assigns
|
||||||
|
|> assign(container: container |> Repo.preload([:tags, :ammo_groups]))
|
||||||
|
|> assign_new(:tag_actions, fn -> [] end)
|
||||||
|
|
||||||
~H"""
|
~H"""
|
||||||
<div
|
<div
|
||||||
@ -63,9 +72,7 @@ defmodule CanneryWeb.Components.ContainerCard do
|
|||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= if assigns |> Map.has_key?(:tag_actions) do %>
|
|
||||||
<%= render_slot(@tag_actions) %>
|
<%= render_slot(@tag_actions) %>
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -4,9 +4,16 @@ defmodule CanneryWeb.Components.InviteCard do
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
use CanneryWeb, :component
|
use CanneryWeb, :component
|
||||||
|
alias Cannery.Invites.Invite
|
||||||
alias CanneryWeb.Endpoint
|
alias CanneryWeb.Endpoint
|
||||||
|
|
||||||
|
attr :invite, Invite, required: true
|
||||||
|
slot(:inner_block)
|
||||||
|
slot(:code_actions)
|
||||||
|
|
||||||
def invite_card(assigns) do
|
def invite_card(assigns) do
|
||||||
|
assigns = assigns |> assign_new(:code_actions, fn -> [] end)
|
||||||
|
|
||||||
~H"""
|
~H"""
|
||||||
<div class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center space-y-4
|
<div class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center space-y-4
|
||||||
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
|
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
|
||||||
@ -34,9 +41,7 @@ defmodule CanneryWeb.Components.InviteCard do
|
|||||||
<%= Routes.user_registration_url(Endpoint, :new, invite: @invite.token) %>
|
<%= Routes.user_registration_url(Endpoint, :new, invite: @invite.token) %>
|
||||||
</code>
|
</code>
|
||||||
|
|
||||||
<%= if @code_actions do %>
|
|
||||||
<%= render_slot(@code_actions) %>
|
<%= render_slot(@code_actions) %>
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= if @inner_block do %>
|
<%= if @inner_block do %>
|
||||||
|
@ -77,7 +77,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do
|
|||||||
~H"""
|
~H"""
|
||||||
<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="mb-8 text-center title text-xl text-primary-600">
|
<h2 class="mb-8 text-center title text-xl text-primary-600">
|
||||||
<%= gettext("Move ammo") %>
|
<%= dgettext("actions", "Move ammo") %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<%= if @containers |> Enum.empty?() do %>
|
<%= if @containers |> Enum.empty?() do %>
|
||||||
|
@ -36,18 +36,38 @@ defmodule CanneryWeb.Components.TableComponent do
|
|||||||
list(%{
|
list(%{
|
||||||
(key :: atom()) => any() | {custom_sort_value :: String.t(), value :: any()}
|
(key :: atom()) => any() | {custom_sort_value :: String.t(), value :: any()}
|
||||||
}),
|
}),
|
||||||
|
optional(:inital_key) => atom(),
|
||||||
|
optional(:initial_sort_mode) => atom(),
|
||||||
optional(any()) => any()
|
optional(any()) => any()
|
||||||
},
|
},
|
||||||
Socket.t()
|
Socket.t()
|
||||||
) :: {:ok, Socket.t()}
|
) :: {:ok, Socket.t()}
|
||||||
def update(%{columns: columns, rows: rows} = assigns, socket) do
|
def update(%{columns: columns, rows: rows} = assigns, socket) do
|
||||||
initial_key = columns |> List.first() |> Map.get(:key)
|
initial_key =
|
||||||
rows = rows |> Enum.sort_by(fn row -> row |> Map.get(initial_key) end, :asc)
|
if assigns |> Map.has_key?(:initial_key) do
|
||||||
|
assigns.initial_key
|
||||||
|
else
|
||||||
|
columns |> List.first() |> Map.get(:key)
|
||||||
|
end
|
||||||
|
|
||||||
|
initial_sort_mode =
|
||||||
|
if assigns |> Map.has_key?(:initial_sort_mode) do
|
||||||
|
assigns.initial_sort_mode
|
||||||
|
else
|
||||||
|
:asc
|
||||||
|
end
|
||||||
|
|
||||||
|
rows = rows |> Enum.sort_by(fn row -> row |> Map.get(initial_key) end, initial_sort_mode)
|
||||||
|
|
||||||
socket =
|
socket =
|
||||||
socket
|
socket
|
||||||
|> assign(assigns)
|
|> assign(assigns)
|
||||||
|> assign(columns: columns, rows: rows, last_sort_key: initial_key, sort_mode: :asc)
|
|> assign(
|
||||||
|
columns: columns,
|
||||||
|
rows: rows,
|
||||||
|
last_sort_key: initial_key,
|
||||||
|
sort_mode: initial_sort_mode
|
||||||
|
)
|
||||||
|
|
||||||
{:ok, socket}
|
{:ok, socket}
|
||||||
end
|
end
|
||||||
|
@ -4,6 +4,10 @@ defmodule CanneryWeb.Components.TagCard do
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
use CanneryWeb, :component
|
use CanneryWeb, :component
|
||||||
|
alias Cannery.Tags.Tag
|
||||||
|
|
||||||
|
attr :tag, Tag, required: true
|
||||||
|
slot(:inner_block, required: true)
|
||||||
|
|
||||||
def tag_card(assigns) do
|
def tag_card(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
@ -19,6 +23,8 @@ defmodule CanneryWeb.Components.TagCard do
|
|||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
attr :tag, Tag, required: true
|
||||||
|
|
||||||
def simple_tag_card(assigns) do
|
def simple_tag_card(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<h1
|
<h1
|
||||||
|
@ -4,6 +4,10 @@ defmodule CanneryWeb.Components.UserCard do
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
use CanneryWeb, :component
|
use CanneryWeb, :component
|
||||||
|
alias Cannery.Accounts.User
|
||||||
|
|
||||||
|
attr :user, User, required: true
|
||||||
|
slot(:inner_block, required: true)
|
||||||
|
|
||||||
def user_card(assigns) do
|
def user_card(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
|
@ -82,8 +82,8 @@
|
|||||||
<div class="flex flex-wrap justify-center items-center text-primary-600">
|
<div class="flex flex-wrap justify-center items-center text-primary-600">
|
||||||
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
|
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
|
||||||
<%= if @ammo_group.staged,
|
<%= if @ammo_group.staged,
|
||||||
do: gettext("Unstage from range"),
|
do: dgettext("actions", "Unstage from range"),
|
||||||
else: gettext("Stage for range") %>
|
else: dgettext("actions", "Stage for range") %>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<.link
|
<.link
|
||||||
|
@ -94,7 +94,7 @@
|
|||||||
<div class="flex flex-col justify-center items-center">
|
<div class="flex flex-col justify-center items-center">
|
||||||
<.toggle_button action="toggle_show_used" value={@show_used}>
|
<.toggle_button action="toggle_show_used" value={@show_used}>
|
||||||
<span class="title text-lg text-primary-600">
|
<span class="title text-lg text-primary-600">
|
||||||
<%= gettext("Show used") %>
|
<%= dgettext("actions", "Show used") %>
|
||||||
</span>
|
</span>
|
||||||
</.toggle_button>
|
</.toggle_button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -57,11 +57,11 @@
|
|||||||
|
|
||||||
<%= if invite.disabled_at |> is_nil() do %>
|
<%= if invite.disabled_at |> is_nil() do %>
|
||||||
<a href="#" class="btn btn-primary" phx-click="disable_invite" phx-value-id={invite.id}>
|
<a href="#" class="btn btn-primary" phx-click="disable_invite" phx-value-id={invite.id}>
|
||||||
<%= gettext("Disable") %>
|
<%= dgettext("actions", "Disable") %>
|
||||||
</a>
|
</a>
|
||||||
<% else %>
|
<% else %>
|
||||||
<a href="#" class="btn btn-primary" phx-click="enable_invite" phx-value-id={invite.id}>
|
<a href="#" class="btn btn-primary" phx-click="enable_invite" phx-value-id={invite.id}>
|
||||||
<%= gettext("Enable") %>
|
<%= dgettext("actions", "Enable") %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
@ -77,7 +77,7 @@
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<%= gettext("Set Unlimited") %>
|
<%= dgettext("actions", "Set Unlimited") %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
</.invite_card>
|
</.invite_card>
|
||||||
|
@ -88,17 +88,67 @@ defmodule CanneryWeb.RangeLive.Index do
|
|||||||
shot_groups
|
shot_groups
|
||||||
|> Enum.map(fn shot_group -> shot_group |> get_row_data_for_shot_group(columns) end)
|
|> Enum.map(fn shot_group -> shot_group |> get_row_data_for_shot_group(columns) end)
|
||||||
|
|
||||||
|
chart_data =
|
||||||
|
shot_groups
|
||||||
|
|> Enum.map(fn shot_group ->
|
||||||
|
shot_group
|
||||||
|
|> get_chart_data_for_shot_group([:name, :count, :notes, :date])
|
||||||
|
end)
|
||||||
|
|> Enum.sort_by(fn %{date: date} -> date end, Date)
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> assign(ammo_groups: ammo_groups, columns: columns, rows: rows, shot_groups: shot_groups)
|
|> assign(
|
||||||
|
ammo_groups: ammo_groups,
|
||||||
|
columns: columns,
|
||||||
|
rows: rows,
|
||||||
|
chart_data: chart_data,
|
||||||
|
shot_groups: shot_groups
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec get_row_data_for_shot_group(ShotGroup.t(), [map()]) :: [map()]
|
@spec get_chart_data_for_shot_group(ShotGroup.t(), keys :: [atom()]) :: map()
|
||||||
|
defp get_chart_data_for_shot_group(shot_group, keys) do
|
||||||
|
shot_group = shot_group |> Repo.preload(ammo_group: :ammo_type)
|
||||||
|
|
||||||
|
labels =
|
||||||
|
if shot_group.notes do
|
||||||
|
[gettext("Notes: %{notes}", notes: shot_group.notes)]
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
|
||||||
|
labels = [
|
||||||
|
gettext(
|
||||||
|
"Name: %{name}",
|
||||||
|
name: shot_group.ammo_group.ammo_type.name
|
||||||
|
),
|
||||||
|
gettext(
|
||||||
|
"Rounds shot: %{count}",
|
||||||
|
count: shot_group.count
|
||||||
|
)
|
||||||
|
| labels
|
||||||
|
]
|
||||||
|
|
||||||
|
keys
|
||||||
|
|> Map.new(fn key ->
|
||||||
|
value =
|
||||||
|
case key do
|
||||||
|
:name -> shot_group.ammo_group.ammo_type.name
|
||||||
|
key -> shot_group |> Map.get(key)
|
||||||
|
end
|
||||||
|
|
||||||
|
{key, value}
|
||||||
|
end)
|
||||||
|
|> Map.put(:labels, labels)
|
||||||
|
end
|
||||||
|
|
||||||
|
@spec get_row_data_for_shot_group(ShotGroup.t(), [map()]) :: map()
|
||||||
defp get_row_data_for_shot_group(%{date: date} = shot_group, columns) do
|
defp get_row_data_for_shot_group(%{date: date} = shot_group, columns) do
|
||||||
shot_group = shot_group |> Repo.preload(ammo_group: :ammo_type)
|
shot_group = shot_group |> Repo.preload(ammo_group: :ammo_type)
|
||||||
assigns = %{shot_group: shot_group}
|
assigns = %{shot_group: shot_group}
|
||||||
|
|
||||||
columns
|
columns
|
||||||
|> Enum.into(%{}, fn %{key: key} ->
|
|> Map.new(fn %{key: key} ->
|
||||||
value =
|
value =
|
||||||
case key do
|
case key do
|
||||||
:name ->
|
:name ->
|
||||||
|
@ -27,8 +27,8 @@
|
|||||||
data-confirm={"#{dgettext("prompts", "Are you sure you want to unstage this ammo?")}"}
|
data-confirm={"#{dgettext("prompts", "Are you sure you want to unstage this ammo?")}"}
|
||||||
>
|
>
|
||||||
<%= if ammo_group.staged,
|
<%= if ammo_group.staged,
|
||||||
do: gettext("Unstage from range"),
|
do: dgettext("actions", "Unstage from range"),
|
||||||
else: gettext("Stage for range") %>
|
else: dgettext("actions", "Stage for range") %>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<.link
|
<.link
|
||||||
@ -53,11 +53,27 @@
|
|||||||
<%= gettext("Shot log") %>
|
<%= gettext("Shot log") %>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
|
<canvas
|
||||||
|
id="shot-log-chart"
|
||||||
|
phx-hook="ShotLogChart"
|
||||||
|
phx-update="ignore"
|
||||||
|
class="max-h-72"
|
||||||
|
data-chart-data={Jason.encode!(@chart_data)}
|
||||||
|
data-label={gettext("Rounds fired")}
|
||||||
|
data-color={random_color()}
|
||||||
|
aria-label={gettext("Rounds fired chart")}
|
||||||
|
role="img"
|
||||||
|
>
|
||||||
|
<%= dgettext("errors", "Your browser does not support the canvas element.") %>
|
||||||
|
</canvas>
|
||||||
|
|
||||||
<.live_component
|
<.live_component
|
||||||
module={CanneryWeb.Components.TableComponent}
|
module={CanneryWeb.Components.TableComponent}
|
||||||
id="shot_groups_index_table"
|
id="shot_groups_index_table"
|
||||||
columns={@columns}
|
columns={@columns}
|
||||||
rows={@rows}
|
rows={@rows}
|
||||||
|
initial_key={:date}
|
||||||
|
initial_sort_mode={:desc}
|
||||||
/>
|
/>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,7 +6,7 @@ defmodule CanneryWeb.TagLive.Index do
|
|||||||
use CanneryWeb, :live_view
|
use CanneryWeb, :live_view
|
||||||
import CanneryWeb.Components.TagCard
|
import CanneryWeb.Components.TagCard
|
||||||
alias Cannery.{Tags, Tags.Tag}
|
alias Cannery.{Tags, Tags.Tag}
|
||||||
alias CanneryWeb.Endpoint
|
alias CanneryWeb.{Endpoint, ViewHelpers}
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, socket), do: {:ok, socket |> display_tags()}
|
def mount(_params, _session, socket), do: {:ok, socket |> display_tags()}
|
||||||
@ -25,7 +25,7 @@ defmodule CanneryWeb.TagLive.Index do
|
|||||||
defp apply_action(socket, :new, _params) do
|
defp apply_action(socket, :new, _params) do
|
||||||
socket
|
socket
|
||||||
|> assign(:page_title, gettext("New Tag"))
|
|> assign(:page_title, gettext("New Tag"))
|
||||||
|> assign(:tag, %Tag{bg_color: Tags.random_bg_color(), text_color: "#ffffff"})
|
|> assign(:tag, %Tag{bg_color: ViewHelpers.random_color(), text_color: "#ffffff"})
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :index, _params) do
|
defp apply_action(socket, :index, _params) do
|
||||||
|
@ -115,4 +115,18 @@ defmodule CanneryWeb.ViewHelpers do
|
|||||||
</label>
|
</label>
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Get a random color in `#ffffff` hex format
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
iex> random_color()
|
||||||
|
"#cc0066"
|
||||||
|
"""
|
||||||
|
@spec random_color() :: <<_::7>>
|
||||||
|
def random_color do
|
||||||
|
["#cc0066", "#ff6699", "#6666ff", "#0066cc", "#00cc66", "#669900", "#ff9900", "#996633"]
|
||||||
|
|> Enum.random()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -211,3 +211,40 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -224,3 +224,40 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -143,7 +143,7 @@ msgstr "Korrosiv"
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr "Anzahl"
|
msgstr "Anzahl"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -155,17 +155,12 @@ msgstr "Anzahl:"
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Beschreibung"
|
msgstr "Beschreibung"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr "Beschreibung:"
|
msgstr "Beschreibung:"
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr "Deaktivieren"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -192,11 +187,6 @@ msgstr "Einladung bearbeiten"
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr "Tag bearbeiten"
|
msgstr "Tag bearbeiten"
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr "Aktivieren"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -226,7 +216,7 @@ msgstr "Brandmunition"
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr "Instanzinformationen"
|
msgstr "Instanzinformationen"
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr "Einladung deaktiviert"
|
msgstr "Einladung deaktiviert"
|
||||||
@ -254,7 +244,7 @@ msgstr "Für 60 Tage eingeloggt bleiben"
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr "Standort"
|
msgstr "Standort"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -351,7 +341,7 @@ msgstr "Keine Tags"
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Bemerkungen"
|
msgstr "Bemerkungen"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -375,7 +365,7 @@ msgstr "Druck"
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr "Kaufpreis"
|
msgstr "Kaufpreis"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr "Kaufpreis:"
|
msgstr "Kaufpreis:"
|
||||||
@ -404,11 +394,6 @@ msgstr ""
|
|||||||
"Hosten Sie Ihre eigene Instanz oder verwenden Sie eine Instanz, der Sie "
|
"Hosten Sie Ihre eigene Instanz oder verwenden Sie eine Instanz, der Sie "
|
||||||
"vertrauen."
|
"vertrauen."
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr "Unbegrenzt setzen"
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -470,7 +455,7 @@ msgstr "Leuchtspur"
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Art"
|
msgstr "Art"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -481,7 +466,7 @@ msgstr "Art:"
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr "Benutzer"
|
msgstr "Benutzer"
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr "Verbleibende Nutzung:"
|
msgstr "Verbleibende Nutzung:"
|
||||||
@ -533,18 +518,6 @@ msgstr "Schüsse abgegeben"
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr "Keine Munition selektiert"
|
msgstr "Keine Munition selektiert"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr "Für Schießplatz selektieren"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr "Für Schießplatz deselektieren"
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -599,7 +572,6 @@ msgstr "Schießkladde"
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr "Munitionsgruppe verschieben"
|
msgstr "Munitionsgruppe verschieben"
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -615,7 +587,7 @@ msgstr "Kein weiterer Behälter"
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr "Schießkladde"
|
msgstr "Schießkladde"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -720,7 +692,7 @@ msgstr "%{name} bearbeiten"
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr "Editiere %{name} Tags"
|
msgstr "Editiere %{name} Tags"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -828,14 +800,14 @@ msgstr "Munitionsart"
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr "Hinzugefügt am"
|
msgstr "Hinzugefügt am"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr "Hinzugefügt am:"
|
msgstr "Hinzugefügt am:"
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr "Benutzer registriert am"
|
msgstr "Benutzer registriert am"
|
||||||
@ -914,7 +886,7 @@ msgstr "Zeige Munitionsarten"
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
|
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -941,14 +913,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr "Summe aller Patronen"
|
msgstr "Summe aller Patronen"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr "Behälter"
|
msgstr "Behälter"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -958,7 +929,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -968,3 +939,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr "Patronen verbraucht"
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr "Patronen abgefeuert"
|
||||||
|
@ -201,3 +201,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -213,7 +213,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
||||||
|
@ -128,7 +128,7 @@ msgstr ""
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -140,17 +140,12 @@ msgstr ""
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -177,11 +172,6 @@ msgstr ""
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -211,7 +201,7 @@ msgstr ""
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -239,7 +229,7 @@ msgstr ""
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -336,7 +326,7 @@ msgstr ""
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -360,7 +350,7 @@ msgstr ""
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -387,11 +377,6 @@ msgstr ""
|
|||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -453,7 +438,7 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -464,7 +449,7 @@ msgstr ""
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -516,18 +501,6 @@ msgstr ""
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -582,7 +555,6 @@ msgstr ""
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -598,7 +570,7 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -703,7 +675,7 @@ msgstr ""
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -811,14 +783,14 @@ msgstr ""
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -897,7 +869,7 @@ msgstr ""
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -924,14 +896,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -941,7 +912,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -951,3 +922,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr ""
|
||||||
|
@ -212,3 +212,40 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -141,17 +141,12 @@ msgstr ""
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -178,11 +173,6 @@ msgstr ""
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -212,7 +202,7 @@ msgstr ""
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -240,7 +230,7 @@ msgstr ""
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -337,7 +327,7 @@ msgstr ""
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -361,7 +351,7 @@ msgstr ""
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -388,11 +378,6 @@ msgstr ""
|
|||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -454,7 +439,7 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -465,7 +450,7 @@ msgstr ""
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -517,18 +502,6 @@ msgstr ""
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -583,7 +556,6 @@ msgstr ""
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -599,7 +571,7 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -704,7 +676,7 @@ msgstr ""
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -812,14 +784,14 @@ msgstr ""
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -898,7 +870,7 @@ msgstr ""
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -925,14 +897,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -942,7 +913,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -952,3 +923,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr ""
|
||||||
|
@ -184,3 +184,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -193,7 +193,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -183,3 +183,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -224,3 +224,40 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -143,7 +143,7 @@ msgstr ""
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -155,17 +155,12 @@ msgstr ""
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -192,11 +187,6 @@ msgstr ""
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -226,7 +216,7 @@ msgstr ""
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -254,7 +244,7 @@ msgstr ""
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -351,7 +341,7 @@ msgstr ""
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -375,7 +365,7 @@ msgstr ""
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -402,11 +392,6 @@ msgstr ""
|
|||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -468,7 +453,7 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -479,7 +464,7 @@ msgstr ""
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -531,18 +516,6 @@ msgstr ""
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -597,7 +570,6 @@ msgstr ""
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -613,7 +585,7 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -718,7 +690,7 @@ msgstr ""
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -826,14 +798,14 @@ msgstr ""
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -912,7 +884,7 @@ msgstr ""
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -939,14 +911,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -956,7 +927,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -966,3 +937,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr ""
|
||||||
|
@ -199,3 +199,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -212,7 +212,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr "Está seguro que desea desmontar esta munición?"
|
msgstr "Está seguro que desea desmontar esta munición?"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -224,3 +224,40 @@ msgstr "Voir en catalogue"
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr "Ajoutez d'abord un type de munitions"
|
msgstr "Ajoutez d'abord un type de munitions"
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -143,7 +143,7 @@ msgstr "Corrosive"
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr "Quantité"
|
msgstr "Quantité"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -155,17 +155,12 @@ msgstr "Quantité :"
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Description"
|
msgstr "Description"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr "Description :"
|
msgstr "Description :"
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr "Désactiver"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -192,11 +187,6 @@ msgstr "Modifier l’invitation"
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr "Modifier le tag"
|
msgstr "Modifier le tag"
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr "Activer"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -226,7 +216,7 @@ msgstr "Incendiaire"
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr "Information de l’instance"
|
msgstr "Information de l’instance"
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr "Invitation désactivée"
|
msgstr "Invitation désactivée"
|
||||||
@ -254,7 +244,7 @@ msgstr "Me garder authentifié durant 60 jours"
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr "Localisation"
|
msgstr "Localisation"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -351,7 +341,7 @@ msgstr "Aucun tag"
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Notes"
|
msgstr "Notes"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -375,7 +365,7 @@ msgstr "Pression"
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr "Prix payé"
|
msgstr "Prix payé"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr "Prix payé :"
|
msgstr "Prix payé :"
|
||||||
@ -404,11 +394,6 @@ msgstr ""
|
|||||||
"Auto-hébergez votre propre instance ou utilisez celle d’une personne à "
|
"Auto-hébergez votre propre instance ou utilisez celle d’une personne à "
|
||||||
"laquelle vous faîtes confiance."
|
"laquelle vous faîtes confiance."
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr "Mettre illimité"
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -472,7 +457,7 @@ msgstr "Traceuse"
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -483,7 +468,7 @@ msgstr "Type :"
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr "Utilisateurs"
|
msgstr "Utilisateurs"
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr "Utilisations restantes :"
|
msgstr "Utilisations restantes :"
|
||||||
@ -535,18 +520,6 @@ msgstr "Tirs réalisés"
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr "Aucune munition sélectionnée"
|
msgstr "Aucune munition sélectionnée"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr "Sélectionné pour le stand"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr "Désélectionner pour le stand"
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -601,7 +574,6 @@ msgstr "Enregistrements de tir"
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr "Déplacer le groupe de munition"
|
msgstr "Déplacer le groupe de munition"
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -617,7 +589,7 @@ msgstr "Aucun autre conteneur"
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr "Évènements de tir"
|
msgstr "Évènements de tir"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -722,7 +694,7 @@ msgstr "Éditer %{name}"
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr "Éditer les tags de %{name}"
|
msgstr "Éditer les tags de %{name}"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -830,14 +802,14 @@ msgstr "Types de munition"
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr "Ajouté le"
|
msgstr "Ajouté le"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr "Ajouté le :"
|
msgstr "Ajouté le :"
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr "Utilisateur·ice enregistré·e le"
|
msgstr "Utilisateur·ice enregistré·e le"
|
||||||
@ -916,7 +888,7 @@ msgstr "Montrer le type de munition"
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr "Ce groupe de munition n’est pas dans un conteneur"
|
msgstr "Ce groupe de munition n’est pas dans un conteneur"
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -944,14 +916,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr "Quantité de cartouches"
|
msgstr "Quantité de cartouches"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr "Conteneur"
|
msgstr "Conteneur"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -961,7 +932,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -971,3 +942,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr "Cartouches utilisées"
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr "Cartouches tirées"
|
||||||
|
@ -200,3 +200,8 @@ msgstr "Veuillez choisir un type de munitions et un conteneur"
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"
|
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -214,7 +214,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
||||||
|
@ -222,3 +222,40 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "add an ammo type first"
|
msgid "add an ammo type first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Disable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Enable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Move ammo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Set Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Show used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Stage for range"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Unstage from range"
|
||||||
|
msgstr ""
|
||||||
|
@ -139,7 +139,7 @@ msgstr ""
|
|||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:33
|
#: lib/cannery_web/components/ammo_group_card.ex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Count:"
|
msgid "Count:"
|
||||||
@ -151,17 +151,12 @@ msgstr ""
|
|||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:30
|
#: lib/cannery_web/components/container_card.ex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:8
|
#: lib/cannery_web/live/container_live/show.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:60
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Disable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/home_live.ex:61
|
#: lib/cannery_web/live/home_live.ex:61
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
@ -188,11 +183,6 @@ msgstr ""
|
|||||||
msgid "Edit Tag"
|
msgid "Edit Tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:64
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Enable"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:35
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Example bullet type abbreviations"
|
msgid "Example bullet type abbreviations"
|
||||||
@ -222,7 +212,7 @@ msgstr ""
|
|||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:25
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -250,7 +240,7 @@ msgstr ""
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:42
|
#: lib/cannery_web/components/container_card.ex:51
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:20
|
#: lib/cannery_web/live/container_live/show.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
@ -347,7 +337,7 @@ msgstr ""
|
|||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:39
|
#: lib/cannery_web/components/ammo_group_card.ex:43
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Notes:"
|
msgid "Notes:"
|
||||||
@ -371,7 +361,7 @@ msgstr ""
|
|||||||
msgid "Price paid"
|
msgid "Price paid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:58
|
#: lib/cannery_web/components/ammo_group_card.ex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Price paid:"
|
msgid "Price paid:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -398,11 +388,6 @@ msgstr ""
|
|||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Set Unlimited"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -464,7 +449,7 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:36
|
#: lib/cannery_web/components/container_card.ex:45
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:14
|
#: lib/cannery_web/live/container_live/show.html.heex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type:"
|
msgid "Type:"
|
||||||
@ -475,7 +460,7 @@ msgstr ""
|
|||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/invite_card.ex:20
|
#: lib/cannery_web/components/invite_card.ex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left:"
|
msgid "Uses Left:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -527,18 +512,6 @@ msgstr ""
|
|||||||
msgid "No ammo staged"
|
msgid "No ammo staged"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Stage for range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
|
||||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Unstage from range"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
#: lib/cannery_web/components/add_shot_group_component.html.heex:3
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
#: lib/cannery_web/live/ammo_group_live/index.ex:26
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -593,7 +566,6 @@ msgstr ""
|
|||||||
msgid "Move Ammo group"
|
msgid "Move Ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
#: lib/cannery_web/live/ammo_group_live/index.ex:253
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Move ammo"
|
msgid "Move ammo"
|
||||||
@ -609,7 +581,7 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:59
|
#: lib/cannery_web/components/ammo_group_card.ex:63
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
#: lib/cannery_web/live/ammo_group_live/index.ex:145
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||||
@ -714,7 +686,7 @@ msgstr ""
|
|||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:54
|
#: lib/cannery_web/components/container_card.ex:63
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:32
|
#: lib/cannery_web/live/container_live/show.html.heex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
@ -822,14 +794,14 @@ msgstr ""
|
|||||||
msgid "Added on"
|
msgid "Added on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:45
|
#: lib/cannery_web/components/ammo_group_card.ex:49
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Added on:"
|
msgid "Added on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/user_card.ex:30
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on"
|
msgid "User registered on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -908,7 +880,7 @@ msgstr ""
|
|||||||
msgid "This ammo is not in a container"
|
msgid "This ammo is not in a container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/container_card.ex:49
|
#: lib/cannery_web/components/container_card.ex:58
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:27
|
#: lib/cannery_web/live/container_live/show.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs:"
|
msgid "Packs:"
|
||||||
@ -935,14 +907,13 @@ msgstr ""
|
|||||||
msgid "Total # of ammo"
|
msgid "Total # of ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:67
|
#: lib/cannery_web/components/ammo_group_card.ex:71
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -952,7 +923,7 @@ msgstr ""
|
|||||||
msgid "Used up on"
|
msgid "Used up on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_card.ex:51
|
#: lib/cannery_web/components/ammo_group_card.ex:55
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up on:"
|
msgid "Used up on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -962,3 +933,28 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{percentage}%"
|
msgid "%{percentage}%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:121
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Name: %{name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:115
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Notes: %{notes}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds fired"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Rounds fired chart"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:125
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Rounds shot: %{count}"
|
||||||
|
msgstr ""
|
||||||
|
@ -199,3 +199,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please select a valid user and ammo group"
|
msgid "Please select a valid user and ammo group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/range_live/index.html.heex:67
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Your browser does not support the canvas element."
|
||||||
|
msgstr ""
|
||||||
|
@ -203,7 +203,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -192,7 +192,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
#: lib/cannery_web/live/ammo_group_live/show.ex:132
|
||||||
#: lib/cannery_web/live/range_live/index.ex:131
|
#: lib/cannery_web/live/range_live/index.ex:181
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete this shot record?"
|
msgid "Are you sure you want to delete this shot record?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -212,7 +212,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
|||||||
test "hides empty ammo groups by default", %{conn: conn, empty_ammo_group: ammo_group} do
|
test "hides empty ammo groups by default", %{conn: conn, empty_ammo_group: ammo_group} do
|
||||||
{:ok, show_live, html} = live(conn, Routes.ammo_group_index_path(conn, :index))
|
{:ok, show_live, html} = live(conn, Routes.ammo_group_index_path(conn, :index))
|
||||||
|
|
||||||
assert html =~ gettext("Show used")
|
assert html =~ dgettext("actions", "Show used")
|
||||||
refute html =~ gettext("$%{amount}", amount: 50.00 |> :erlang.float_to_binary(decimals: 2))
|
refute html =~ gettext("$%{amount}", amount: 50.00 |> :erlang.float_to_binary(decimals: 2))
|
||||||
|
|
||||||
refute html =~
|
refute html =~
|
||||||
|
@ -48,13 +48,20 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
|||||||
%{ammo_type: ammo_type_fixture(@create_attrs, current_user)}
|
%{ammo_type: ammo_type_fixture(@create_attrs, current_user)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp create_ammo_group(%{ammo_type: ammo_type, current_user: current_user}) do
|
||||||
|
container = container_fixture(current_user)
|
||||||
|
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
|
||||||
|
|
||||||
|
%{ammo_group: ammo_group, container: container}
|
||||||
|
end
|
||||||
|
|
||||||
defp create_empty_ammo_group(%{ammo_type: ammo_type, current_user: current_user}) do
|
defp create_empty_ammo_group(%{ammo_type: ammo_type, current_user: current_user}) do
|
||||||
container = container_fixture(current_user)
|
container = container_fixture(current_user)
|
||||||
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
|
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
|
||||||
shot_group = shot_group_fixture(@shot_group_attrs, current_user, ammo_group)
|
shot_group = shot_group_fixture(@shot_group_attrs, current_user, ammo_group)
|
||||||
ammo_group = ammo_group |> Repo.reload!()
|
ammo_group = ammo_group |> Repo.reload!()
|
||||||
|
|
||||||
%{ammo_group: ammo_group, shot_group: shot_group}
|
%{ammo_group: ammo_group, container: container, shot_group: shot_group}
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "Index" do
|
describe "Index" do
|
||||||
@ -157,6 +164,18 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "Show ammo type with ammo group" do
|
||||||
|
setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group]
|
||||||
|
|
||||||
|
test "displays ammo group", %{conn: conn, ammo_type: ammo_type, container: container} do
|
||||||
|
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
||||||
|
|
||||||
|
assert html =~ gettext("Show Ammo type")
|
||||||
|
assert html =~ "some ammo group"
|
||||||
|
assert html =~ container.name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "Show ammo type with empty ammo group" do
|
describe "Show ammo type with empty ammo group" do
|
||||||
setup [:register_and_log_in_user, :create_ammo_type, :create_empty_ammo_group]
|
setup [:register_and_log_in_user, :create_ammo_type, :create_empty_ammo_group]
|
||||||
|
|
||||||
@ -164,7 +183,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
|||||||
%{conn: conn, ammo_type: ammo_type} do
|
%{conn: conn, ammo_type: ammo_type} do
|
||||||
{:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
{:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
||||||
|
|
||||||
assert html =~ gettext("Show used")
|
assert html =~ dgettext("actions", "Show used")
|
||||||
refute html =~ "some ammo group"
|
refute html =~ "some ammo group"
|
||||||
|
|
||||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||||
|
@ -167,7 +167,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
%{conn: conn, container: container} do
|
%{conn: conn, container: container} do
|
||||||
{:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
|
{:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||||
|
|
||||||
assert html =~ gettext("Show used")
|
assert html =~ dgettext("actions", "Show used")
|
||||||
refute html =~ "some ammo group"
|
refute html =~ "some ammo group"
|
||||||
|
|
||||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||||
|
Loading…
Reference in New Issue
Block a user