6 Commits

Author SHA1 Message Date
da4bd61a4b update repo location 2026-03-07 09:39:44 +00:00
a0dbbe35d4 fix redefinition warnings 2025-08-03 23:21:05 +00:00
3fac142454 add a row number column to all tables
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-07-19 01:04:53 +00:00
14615ac107 fix bug with ammo type selector 2025-07-19 00:45:53 +00:00
05b1630a96 fix dialyzer for otp 28
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-07-05 23:25:44 +00:00
1fd3a1bebe bump version
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-05 23:10:12 +00:00
27 changed files with 160 additions and 115 deletions

View File

@@ -1,3 +1,11 @@
# v0.9.16
- Fix bug with ammo type selector
- Add a row number column to all tables
# v0.9.15
- Update deps
- Add better reverse proxy and database upgrade instructions
# v0.9.14
- Update deps
- Fix wrapping issues with search bars

View File

@@ -1,6 +1,6 @@
# Cannery
![old screenshot](https://gitea.bubbletea.dev/shibao/cannery/raw/branch/stable/home.png)
![old screenshot](https://codeberg.org/shibao/cannery/raw/branch/stable/home.png)
The self-hosted firearm tracker website.
@@ -20,7 +20,7 @@ The self-hosted firearm tracker website.
# Installation
1. Install [Docker Compose](https://docs.docker.com/compose/install/) or alternatively [Docker Desktop](https://docs.docker.com/desktop/) on your machine.
1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/docker-compose.yml). into your local machine where you want.
1. Copy the example [docker-compose.yml](https://codeberg.org/shibao/cannery/src/branch/stable/docker-compose.yml). into your local machine where you want.
Bind mounts are created in the same directory by default.
1. Set the configuration variables in `docker-compose.yml`. You'll need to run
`docker run -it shibaobun/cannery /app/priv/random.sh` to generate a new
@@ -59,7 +59,7 @@ information can be found on their documentation
# Configuration
You can use the following environment variables to configure Cannery in
[docker-compose.yml](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/docker-compose.yml).
[docker-compose.yml](https://codeberg.org/shibao/cannery/src/branch/stable/docker-compose.yml).
- `HOST`: External url to generate links with. Must be set with your hosted
domain name! I.e. `cannery.mywebsite.tld`
@@ -102,33 +102,21 @@ for additional performance, or keep using the upgrade image if you'd like.
Contributions are greatly appreciated, no ability to code needed! You can browse
the [Contribution
Guide](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/CONTRIBUTING.md)
Guide](https://codeberg.org/shibao/cannery/src/branch/stable/CONTRIBUTING.md)
to learn more.
I can be contacted at [shibao@bubbletea.dev](mailto:shibao@bubbletea.dev), or on
the fediverse at
[@shibao@misskey.bubbletea.dev](https://misskey.bubbletea.dev/@shibao). Thank
you!
I can be contacted at [shibao@shibao.dev](mailto:shibao@shibao.dev). Thank you!
# License
Cannery is licensed under AGPLv3 or later. A copy of the latest version of the
license can be found at
[LICENSE.md](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/LICENSE.md).
[LICENSE.md](https://codeberg.org/shibao/cannery/src/branch/stable/LICENSE.md).
# Links
- [Website](https://cannery.app): Project website
- [Gitea](https://gitea.bubbletea.dev/shibao/cannery): Main repo, feature
- [Gitea](https://codeberg.org/shibao/cannery): Main repo, feature
requests and bug reports
- [Github](https://github.com/shibaobun/cannery): Source code mirror, please
don't open pull requests to this repository
- [Weblate](https://weblate.bubbletea.dev/engage/cannery): Contribute to
translations!
---
[![Build
Status](https://drone.bubbletea.dev/api/badges/shibao/cannery/status.svg?ref=refs/heads/dev)](https://drone.bubbletea.dev/shibao/cannery)
[![translation
status](https://weblate.bubbletea.dev/widgets/cannery/-/svg-badge.svg)](https://weblate.bubbletea.dev/engage/cannery/)

View File

@@ -2,6 +2,7 @@
<table class="min-w-full table-auto text-center bg-white">
<thead class="border-b border-primary-600">
<tr>
<th class="p-2 w-12">{gettext("Row")}</th>
<%= for %{key: key, label: label} = column <- @columns do %>
<%= if column |> Map.get(:sortable, true) do %>
<th class={["p-2", column[:class]]}>
@@ -38,6 +39,7 @@
:for={{values, i} <- @rows |> Enum.with_index()}
class={if i |> Integer.is_even(), do: @row_class, else: @alternate_row_class}
>
<td class="p-2">{i + 1}</td>
<td :for={%{key: key} = value <- @columns} class={["p-2", value[:class]]}>
<%= case values |> Map.get(key) do %>
<% {_custom_sort_value, value} -> %>

View File

@@ -46,7 +46,8 @@
{select(f, :tag_id, tag_options(@tags, @container),
class: "text-center col-span-2 input input-primary",
id: "#{@id}-tag-select",
phx_hook: "SlimSelect"
phx_hook: "SlimSelect",
phx_update: :ignore
)}
{error_tag(f, :tag_id, "col-span-3 text-center")}

View File

@@ -38,7 +38,8 @@
{select(f, :type_id, type_options(@types, @class),
class: "text-center col-span-2 input input-primary",
id: "pack-form-type-select",
phx_hook: "SlimSelect"
phx_hook: "SlimSelect",
phx_update: :ignore
)}
{error_tag(f, :type_id, "col-span-3 text-center")}
@@ -85,7 +86,8 @@
{select(f, :container_id, container_options(@containers),
class: "text-center col-span-2 input input-primary",
id: "pack-form-container-select",
phx_hook: "SlimSelect"
phx_hook: "SlimSelect",
phx_update: :ignore
)}
{error_tag(f, :container_id, "col-span-3 text-center")}

13
mix.exs
View File

@@ -4,13 +4,18 @@ defmodule Cannery.MixProject do
def project do
[
app: :cannery,
version: "0.9.14",
version: "0.9.16",
elixir: "1.18.4",
elixirc_options: [ignore_module_conflict: true],
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
dialyzer: [plt_add_apps: [:ex_unit]],
dialyzer: [
# Added for OTP 28 bug https://github.com/jeremyjh/dialyxir/issues/561
flags: [:no_opaque],
plt_add_apps: [:ex_unit]
],
consolidate_protocols: Mix.env() not in [:dev, :test],
preferred_cli_env: ["test.all": :test],
# ExDoc
@@ -41,6 +46,10 @@ defmodule Cannery.MixProject do
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
def cli do
[preferred_envs: ["test.all": :test]]
end
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.

View File

@@ -118,7 +118,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -136,7 +136,7 @@ msgstr ""
msgid "Why not add one?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr ""
@@ -173,7 +173,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""

View File

@@ -131,7 +131,7 @@ msgstr "Passwort zurücksetzen"
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -149,7 +149,7 @@ msgstr "Anleitung zum Passwort zurücksetzen zusenden"
msgid "Why not add one?"
msgstr "Warum fügen Sie keine hinzu?"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr "Hinzufügen"
@@ -186,7 +186,7 @@ msgstr "In die Zwischenablage kopieren"
msgid "add a container first"
msgstr "Zuerst einen Behälter hinzufügen"
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Erstellen"

View File

@@ -86,7 +86,7 @@ msgstr "Gehäusematerial"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Behälter"
@@ -106,7 +106,7 @@ msgid "Corrosive"
msgstr "Korrosiv"
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Anzahl"
@@ -280,7 +280,7 @@ msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -305,7 +305,7 @@ msgid "Pressure"
msgstr "Druck"
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Kaufpreis"
@@ -649,7 +649,7 @@ msgstr "Passwort zurücksetzen"
msgid "Record Shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Kopien"
@@ -975,7 +975,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1433,7 +1433,7 @@ msgid "No Types"
msgstr "Art"
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1457,3 +1457,8 @@ msgstr "Datum"
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Kein Behälter"
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -131,7 +131,7 @@ msgstr "Bitte überprüfen Sie ihre Mailbox und bestätigen Sie das Nutzerkonto"
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -161,7 +161,7 @@ msgstr "%{name} erfolgreich hinzugefügt"
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} wurde von %{container_name} entfernt"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr "Füge hinzu..."
@@ -214,7 +214,7 @@ msgstr "%{name} erfolgreich entfernt"
msgid "You'll need to"
msgstr "Sie müssen"
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Erstellen..."

View File

@@ -82,7 +82,7 @@ msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -102,7 +102,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -276,7 +276,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -301,7 +301,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -643,7 +643,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@@ -969,7 +969,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1416,7 +1416,7 @@ msgid "No Types"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1440,3 +1440,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "No containers staged"
msgstr ""
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -118,7 +118,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -136,7 +136,7 @@ msgstr ""
msgid "Why not add one?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr ""
@@ -173,7 +173,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format, fuzzy
msgid "Create"
msgstr ""

View File

@@ -82,7 +82,7 @@ msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -102,7 +102,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -276,7 +276,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -301,7 +301,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -643,7 +643,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@@ -969,7 +969,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1416,7 +1416,7 @@ msgid "No Types"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1440,3 +1440,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -112,7 +112,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -140,7 +140,7 @@ msgstr ""
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr ""
@@ -193,7 +193,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format, fuzzy
msgid "Creating..."
msgstr ""

View File

@@ -131,7 +131,7 @@ msgstr "Resetear contraseña"
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -149,7 +149,7 @@ msgstr "Enviar instrucciones para reestablecer contraseña"
msgid "Why not add one?"
msgstr "¿Por qué no añadir una?"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr "Añadir"
@@ -186,7 +186,7 @@ msgstr "Copiar al portapapeles"
msgid "add a container first"
msgstr "añade primero un contenedor"
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Crear"

View File

@@ -86,7 +86,7 @@ msgstr "Material del casquillo"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Contenedor"
@@ -106,7 +106,7 @@ msgid "Corrosive"
msgstr "Corrosiva"
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Cantidad"
@@ -280,7 +280,7 @@ msgstr "Sin etiquetas"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -305,7 +305,7 @@ msgid "Pressure"
msgstr "Presión"
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Precio pagado"
@@ -650,7 +650,7 @@ msgstr "Reestablecer contraseña"
msgid "Record Shots"
msgstr "Tiros Récord"
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Copias"
@@ -977,7 +977,7 @@ msgid "Never used"
msgstr "Nunca usada"
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr "Comprada en"
@@ -1435,7 +1435,7 @@ msgid "No Types"
msgstr "Tipo"
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1459,3 +1459,8 @@ msgstr "Fecha"
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Sin contenedores"
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -131,7 +131,7 @@ msgstr "Por favor chequea el correo para verificar tu cuenta"
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -160,7 +160,7 @@ msgstr "%{name} añadido exitosamente"
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "se ha removido %{tag_name} de %{container_name}"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr "Añadiendo..."
@@ -213,7 +213,7 @@ msgstr "%{name} eliminado exitosamente"
msgid "You'll need to"
msgstr "Necesitará hacerlo"
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Creando..."

View File

@@ -131,7 +131,7 @@ msgstr "Réinitialisé le mot de passe"
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -149,7 +149,7 @@ msgstr "Envoyer les instructions pour réinitialiser le mot de passe"
msgid "Why not add one?"
msgstr "Pourquoi pas en ajouter un?"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr "Ajouter"
@@ -186,7 +186,7 @@ msgstr "Copier dans le presse-papier"
msgid "add a container first"
msgstr "ajouter un conteneur en premier"
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Créer"

View File

@@ -86,7 +86,7 @@ msgstr "Matériau de la caisse"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Conteneur"
@@ -106,7 +106,7 @@ msgid "Corrosive"
msgstr "Corrosive"
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Quantité"
@@ -280,7 +280,7 @@ msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -305,7 +305,7 @@ msgid "Pressure"
msgstr "Pression"
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Prix payé"
@@ -651,7 +651,7 @@ msgstr "Réinitialiser votre mot de passe"
msgid "Record Shots"
msgstr "Enregistrer des tirs"
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Exemplaires"
@@ -978,7 +978,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1436,7 +1436,7 @@ msgid "No Types"
msgstr "Type"
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1460,3 +1460,8 @@ msgstr "Date"
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Aucun conteneur"
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -132,7 +132,7 @@ msgstr "Veuillez vérifier votre mél pour confirmer votre compte"
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -162,7 +162,7 @@ msgstr "%{name} a été ajouté avec succès"
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} a été retiré de %{container_name}"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr "Ajout en cours…"
@@ -215,7 +215,7 @@ msgstr "%{name} retiré avec succès"
msgid "You'll need to"
msgstr "Vous aurez besoin de"
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Création en cours…"

View File

@@ -129,7 +129,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -147,7 +147,7 @@ msgstr ""
msgid "Why not add one?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr ""
@@ -184,7 +184,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""

View File

@@ -84,7 +84,7 @@ msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -104,7 +104,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -278,7 +278,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -303,7 +303,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -645,7 +645,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@@ -971,7 +971,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1427,7 +1427,7 @@ msgid "No Types"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1451,3 +1451,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -123,7 +123,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -151,7 +151,7 @@ msgstr ""
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr ""
@@ -204,7 +204,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""

View File

@@ -129,7 +129,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:110
#: lib/cannery_web/live/pack_live/form_component.html.heex:112
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:378
@@ -147,7 +147,7 @@ msgstr ""
msgid "Why not add one?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:54
#, elixir-autogen, elixir-format
msgid "Add"
msgstr ""
@@ -184,7 +184,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:103
#: lib/cannery_web/live/pack_live/form_component.html.heex:105
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""

View File

@@ -93,7 +93,7 @@ msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -113,7 +113,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:45
#: lib/cannery_web/live/pack_live/form_component.html.heex:46
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -287,7 +287,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:76
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@@ -312,7 +312,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:92
#: lib/cannery_web/live/pack_live/form_component.html.heex:52
#: lib/cannery_web/live/pack_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -654,7 +654,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:96
#: lib/cannery_web/live/pack_live/form_component.html.heex:98
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@@ -980,7 +980,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#: lib/cannery_web/live/pack_live/form_component.html.heex:68
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@@ -1427,7 +1427,7 @@ msgid "No Types"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:59
#: lib/cannery_web/live/pack_live/form_component.html.heex:60
#, elixir-autogen, elixir-format
msgid "Lot number"
msgstr ""
@@ -1451,3 +1451,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""
#: lib/cannery_web/components/table_component.html.heex:5
#, elixir-autogen, elixir-format
msgid "Row"
msgstr ""

View File

@@ -123,7 +123,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -151,7 +151,7 @@ msgstr ""
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr ""
@@ -204,7 +204,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""

View File

@@ -112,7 +112,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:111
#: lib/cannery_web/live/pack_live/form_component.html.heex:113
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:379
@@ -140,7 +140,7 @@ msgstr ""
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:55
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:56
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr ""
@@ -193,7 +193,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:104
#: lib/cannery_web/live/pack_live/form_component.html.heex:106
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""