Compare commits
	
		
			31 Commits
		
	
	
		
			0.9.5
			...
			15354d6004
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 15354d6004 | |||
| e358cd6e4e | |||
| 202b70dc66 | |||
| b963baa49d | |||
| 70701a27d3 | |||
| 67dc16d222 | |||
| fa35038426 | |||
| d896257602 | |||
| 4ca51a3f53 | |||
| 96b05e8332 | |||
| 557a2cac3d | |||
| e16e04c114 | |||
| bbe4d82303 | |||
| c69d7843ab | |||
| c18f59050c | |||
| 67d688fc1e | |||
| 
						 | 
					28e5fa56c3 | ||
| 
						 | 
					e301d3dd17 | ||
| 
						 | 
					4881cf6edb | ||
| 
						 | 
					6b61c45889 | ||
| 
						 | 
					4a674a0504 | ||
| 7e6959fb3b | |||
| 22f13b0c57 | |||
| 31024dcc0d | |||
| e843014502 | |||
| 5d146ce6af | |||
| 27cda3733e | |||
| 1965ecba32 | |||
| 69e40c6d18 | |||
| 34b4b24e67 | |||
| 7ebed8d4c0 | 
@@ -17,7 +17,7 @@ steps:
 | 
				
			|||||||
      - .mix
 | 
					      - .mix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: test
 | 
					- name: test
 | 
				
			||||||
  image: elixir:1.15.4-alpine
 | 
					  image: elixir:1.17.0-otp-27-alpine
 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
    TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
 | 
					    TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
 | 
				
			||||||
    HOST: testing.example.tld
 | 
					    HOST: testing.example.tld
 | 
				
			||||||
@@ -26,8 +26,8 @@ steps:
 | 
				
			|||||||
    MIX_ENV: test
 | 
					    MIX_ENV: test
 | 
				
			||||||
  commands:
 | 
					  commands:
 | 
				
			||||||
  - apk add --no-cache build-base npm git
 | 
					  - apk add --no-cache build-base npm git
 | 
				
			||||||
  - mix local.rebar --force --if-missing
 | 
					  - mix local.rebar --force
 | 
				
			||||||
  - mix local.hex --force --if-missing
 | 
					  - mix local.hex --force
 | 
				
			||||||
  - mix deps.get
 | 
					  - mix deps.get
 | 
				
			||||||
  - npm set cache .npm
 | 
					  - npm set cache .npm
 | 
				
			||||||
  - npm --prefix ./assets ci --no-audit --prefer-offline
 | 
					  - npm --prefix ./assets ci --no-audit --prefer-offline
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,3 @@
 | 
				
			|||||||
elixir 1.15.4-otp-26
 | 
					elixir 1.17.0-otp-27
 | 
				
			||||||
erlang 26.0.2
 | 
					erlang 27.0
 | 
				
			||||||
nodejs 20.6.0
 | 
					nodejs 22.3.0
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,3 +1,27 @@
 | 
				
			|||||||
 | 
					# v0.10.0
 | 
				
			||||||
 | 
					- Update deps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# v0.9.10
 | 
				
			||||||
 | 
					- Fix issue with logger failing on oban exceptions
 | 
				
			||||||
 | 
					- Fix an issue with emails not being able to be sent
 | 
				
			||||||
 | 
					- Update deps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# v0.9.9
 | 
				
			||||||
 | 
					- Actually fix bar graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# v0.9.8
 | 
				
			||||||
 | 
					- Make bar graph ignore empty days
 | 
				
			||||||
 | 
					- Update dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# v0.9.7
 | 
				
			||||||
 | 
					- Fix margin on bottom of page
 | 
				
			||||||
 | 
					- Use bar graph instead of line graph
 | 
				
			||||||
 | 
					- Improve login page autocomplete behavior
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# v0.9.6
 | 
				
			||||||
 | 
					- Make ammo packs in containers directly navigable in table view
 | 
				
			||||||
 | 
					- Update dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# v0.9.5
 | 
					# v0.9.5
 | 
				
			||||||
- Update dependencies
 | 
					- Update dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
FROM elixir:1.15.4-alpine AS build
 | 
					FROM elixir:1.17.0-otp-27-alpine AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# install build dependencies
 | 
					# install build dependencies
 | 
				
			||||||
RUN apk add --no-cache build-base npm git python3
 | 
					RUN apk add --no-cache build-base npm git python3
 | 
				
			||||||
@@ -7,8 +7,8 @@ RUN apk add --no-cache build-base npm git python3
 | 
				
			|||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# install hex + rebar
 | 
					# install hex + rebar
 | 
				
			||||||
RUN mix local.hex --force && \
 | 
					RUN mix local.rebar --force &&
 | 
				
			||||||
    mix local.rebar --force
 | 
					    mix local.hex --force
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# set build ENV
 | 
					# set build ENV
 | 
				
			||||||
ENV MIX_ENV=prod
 | 
					ENV MIX_ENV=prod
 | 
				
			||||||
@@ -37,7 +37,7 @@ RUN mix do compile, release
 | 
				
			|||||||
FROM alpine:latest AS app
 | 
					FROM alpine:latest AS app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apk upgrade --no-cache && \
 | 
					RUN apk upgrade --no-cache && \
 | 
				
			||||||
    apk add --no-cache bash openssl libssl1.1 libcrypto1.1 libgcc libstdc++ ncurses-libs
 | 
					    apk add --no-cache bash openssl libssl3 libcrypto3 libgcc libstdc++ ncurses-libs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,12 @@
 | 
				
			|||||||
import { Chart, Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale } from 'chart.js'
 | 
					import Chart from 'chart.js/auto'
 | 
				
			||||||
import 'chartjs-adapter-date-fns'
 | 
					import 'chartjs-adapter-date-fns'
 | 
				
			||||||
Chart.register(Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  initalizeChart (el) {
 | 
					  initalizeChart (el) {
 | 
				
			||||||
    const data = JSON.parse(el.dataset.chartData)
 | 
					    const data = JSON.parse(el.dataset.chartData)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.el.chart = new Chart(el, {
 | 
					    this.el.chart = new Chart(el, {
 | 
				
			||||||
      type: 'line',
 | 
					      type: 'bar',
 | 
				
			||||||
      data: {
 | 
					      data: {
 | 
				
			||||||
        datasets: [{
 | 
					        datasets: [{
 | 
				
			||||||
          label: el.dataset.label,
 | 
					          label: el.dataset.label,
 | 
				
			||||||
@@ -51,13 +50,17 @@ export default {
 | 
				
			|||||||
            stacked: true,
 | 
					            stacked: true,
 | 
				
			||||||
            grace: '15%',
 | 
					            grace: '15%',
 | 
				
			||||||
            ticks: {
 | 
					            ticks: {
 | 
				
			||||||
              padding: 15
 | 
					              padding: 15,
 | 
				
			||||||
 | 
					              precision: 0
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          x: {
 | 
					          x: {
 | 
				
			||||||
            type: 'time',
 | 
					            type: 'timeseries',
 | 
				
			||||||
            time: {
 | 
					            time: {
 | 
				
			||||||
              unit: 'day'
 | 
					              unit: 'day'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ticks: {
 | 
				
			||||||
 | 
					              source: 'data'
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4109
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4109
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -3,8 +3,8 @@
 | 
				
			|||||||
  "description": " ",
 | 
					  "description": " ",
 | 
				
			||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "engines": {
 | 
					  "engines": {
 | 
				
			||||||
    "node": "v20.6.0",
 | 
					    "node": "v22.3.0",
 | 
				
			||||||
    "npm": "9.8.1"
 | 
					    "npm": "10.8.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "deploy": "NODE_ENV=production webpack --mode production",
 | 
					    "deploy": "NODE_ENV=production webpack --mode production",
 | 
				
			||||||
@@ -13,37 +13,37 @@
 | 
				
			|||||||
    "test": "standard"
 | 
					    "test": "standard"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@fortawesome/fontawesome-free": "^6.4.2",
 | 
					    "@fortawesome/fontawesome-free": "^6.5.2",
 | 
				
			||||||
    "chart.js": "^4.4.0",
 | 
					    "chart.js": "^4.4.3",
 | 
				
			||||||
    "chartjs-adapter-date-fns": "^3.0.0",
 | 
					    "chartjs-adapter-date-fns": "^3.0.0",
 | 
				
			||||||
    "date-fns": "^2.30.0",
 | 
					    "date-fns": "^3.6.0",
 | 
				
			||||||
    "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",
 | 
				
			||||||
    "topbar": "^2.0.1"
 | 
					    "topbar": "^3.0.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@babel/core": "^7.22.15",
 | 
					    "@babel/core": "^7.24.7",
 | 
				
			||||||
    "@babel/preset-env": "^7.22.15",
 | 
					    "@babel/preset-env": "^7.24.7",
 | 
				
			||||||
    "autoprefixer": "^10.4.15",
 | 
					    "autoprefixer": "^10.4.19",
 | 
				
			||||||
    "babel-loader": "^9.1.3",
 | 
					    "babel-loader": "^9.1.3",
 | 
				
			||||||
    "copy-webpack-plugin": "^11.0.0",
 | 
					    "copy-webpack-plugin": "^12.0.2",
 | 
				
			||||||
    "css-loader": "^6.8.1",
 | 
					    "css-loader": "^7.1.2",
 | 
				
			||||||
    "css-minimizer-webpack-plugin": "^5.0.1",
 | 
					    "css-minimizer-webpack-plugin": "^7.0.0",
 | 
				
			||||||
    "file-loader": "^6.2.0",
 | 
					    "file-loader": "^6.2.0",
 | 
				
			||||||
    "mini-css-extract-plugin": "^2.7.6",
 | 
					    "mini-css-extract-plugin": "^2.9.0",
 | 
				
			||||||
    "npm-check-updates": "^16.13.3",
 | 
					    "npm-check-updates": "^16.14.20",
 | 
				
			||||||
    "postcss": "^8.4.29",
 | 
					    "postcss": "^8.4.38",
 | 
				
			||||||
    "postcss-import": "^15.1.0",
 | 
					    "postcss-import": "^16.1.0",
 | 
				
			||||||
    "postcss-loader": "^7.3.3",
 | 
					    "postcss-loader": "^8.1.1",
 | 
				
			||||||
    "postcss-preset-env": "^9.1.3",
 | 
					    "postcss-preset-env": "^9.5.14",
 | 
				
			||||||
    "sass": "^1.66.1",
 | 
					    "sass": "^1.77.5",
 | 
				
			||||||
    "sass-loader": "^13.3.2",
 | 
					    "sass-loader": "^14.2.1",
 | 
				
			||||||
    "standard": "^17.1.0",
 | 
					    "standard": "^17.1.0",
 | 
				
			||||||
    "tailwindcss": "^3.3.3",
 | 
					    "tailwindcss": "^3.4.4",
 | 
				
			||||||
    "terser-webpack-plugin": "^5.3.9",
 | 
					    "terser-webpack-plugin": "^5.3.10",
 | 
				
			||||||
    "webpack": "^5.88.2",
 | 
					    "webpack": "^5.92.0",
 | 
				
			||||||
    "webpack-cli": "^5.1.4",
 | 
					    "webpack-cli": "^5.1.4",
 | 
				
			||||||
    "webpack-dev-server": "^4.15.1"
 | 
					    "webpack-dev-server": "^5.0.4"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,7 +26,7 @@ config :cannery, Cannery.Mailer, adapter: Swoosh.Adapters.Test
 | 
				
			|||||||
config :cannery, Cannery.Accounts, registration: "public"
 | 
					config :cannery, Cannery.Accounts, registration: "public"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Print only warnings and errors during test
 | 
					# Print only warnings and errors during test
 | 
				
			||||||
config :logger, level: :warn
 | 
					config :logger, level: :warning
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Initialize plugs at runtime for faster test compilation
 | 
					# Initialize plugs at runtime for faster test compilation
 | 
				
			||||||
config :phoenix, :plug_init_mode, :runtime
 | 
					config :phoenix, :plug_init_mode, :runtime
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -404,15 +404,15 @@ defmodule Cannery.Accounts do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ## Examples
 | 
					  ## Examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      iex> is_admin?(%User{role: :admin})
 | 
					      iex> admin?(%User{role: :admin})
 | 
				
			||||||
      true
 | 
					      true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      iex> is_admin?(%User{})
 | 
					      iex> admin?(%User{})
 | 
				
			||||||
      false
 | 
					      false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
  @spec is_admin?(User.t()) :: boolean()
 | 
					  @spec admin?(User.t()) :: boolean()
 | 
				
			||||||
  def is_admin?(%User{id: user_id}) do
 | 
					  def admin?(%User{id: user_id}) do
 | 
				
			||||||
    Repo.exists?(from u in User, where: u.id == ^user_id, where: u.role == :admin)
 | 
					    Repo.exists?(from u in User, where: u.id == ^user_id, where: u.role == :admin)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -421,16 +421,16 @@ defmodule Cannery.Accounts do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ## Examples
 | 
					  ## Examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      iex> is_already_admin?(%User{role: :admin})
 | 
					      iex> already_admin?(%User{role: :admin})
 | 
				
			||||||
      true
 | 
					      true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      iex> is_already_admin?(%User{})
 | 
					      iex> already_admin?(%User{})
 | 
				
			||||||
      false
 | 
					      false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
  @spec is_already_admin?(User.t() | nil) :: boolean()
 | 
					  @spec already_admin?(User.t() | nil) :: boolean()
 | 
				
			||||||
  def is_already_admin?(%User{role: :admin}), do: true
 | 
					  def already_admin?(%User{role: :admin}), do: true
 | 
				
			||||||
  def is_already_admin?(_invalid_user), do: false
 | 
					  def already_admin?(_invalid_user), do: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ## Confirmation
 | 
					  ## Confirmation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,21 +26,21 @@ defmodule Cannery.Email do
 | 
				
			|||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @spec generate_email(key :: String.t(), User.t(), attrs :: map()) :: t()
 | 
					  @spec generate_email(key :: String.t(), User.t(), attrs :: map()) :: t()
 | 
				
			||||||
  def generate_email("welcome", user, %{"url" => url}) do
 | 
					  def generate_email("welcome", user, %{url: url}) do
 | 
				
			||||||
    user
 | 
					    user
 | 
				
			||||||
    |> base_email(dgettext("emails", "Confirm your Cannery account"))
 | 
					    |> base_email(dgettext("emails", "Confirm your Cannery account"))
 | 
				
			||||||
    |> html_email(:confirm_email_html, %{user: user, url: url})
 | 
					    |> html_email(:confirm_email_html, %{user: user, url: url})
 | 
				
			||||||
    |> text_email(:confirm_email_text, %{user: user, url: url})
 | 
					    |> text_email(:confirm_email_text, %{user: user, url: url})
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def generate_email("reset_password", user, %{"url" => url}) do
 | 
					  def generate_email("reset_password", user, %{url: url}) do
 | 
				
			||||||
    user
 | 
					    user
 | 
				
			||||||
    |> base_email(dgettext("emails", "Reset your Cannery password"))
 | 
					    |> base_email(dgettext("emails", "Reset your Cannery password"))
 | 
				
			||||||
    |> html_email(:reset_password_html, %{user: user, url: url})
 | 
					    |> html_email(:reset_password_html, %{user: user, url: url})
 | 
				
			||||||
    |> text_email(:reset_password_text, %{user: user, url: url})
 | 
					    |> text_email(:reset_password_text, %{user: user, url: url})
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def generate_email("update_email", user, %{"url" => url}) do
 | 
					  def generate_email("update_email", user, %{url: url}) do
 | 
				
			||||||
    user
 | 
					    user
 | 
				
			||||||
    |> base_email(dgettext("emails", "Update your Cannery email"))
 | 
					    |> base_email(dgettext("emails", "Update your Cannery email"))
 | 
				
			||||||
    |> html_email(:update_email_html, %{user: user, url: url})
 | 
					    |> html_email(:update_email_html, %{user: user, url: url})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ defmodule Cannery.EmailWorker do
 | 
				
			|||||||
  alias Cannery.{Accounts, Email, Mailer}
 | 
					  alias Cannery.{Accounts, Email, Mailer}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @impl Oban.Worker
 | 
					  @impl Oban.Worker
 | 
				
			||||||
  def perform(%Oban.Job{args: %{"email" => email, "user_id" => user_id, "attrs" => attrs}}) do
 | 
					  def perform(%Oban.Job{args: %{email: email, user_id: user_id, attrs: attrs}}) do
 | 
				
			||||||
    Email.generate_email(email, user_id |> Accounts.get_user!(), attrs) |> Mailer.deliver()
 | 
					    Email.generate_email(email, user_id |> Accounts.get_user!(), attrs) |> Mailer.deliver()
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ defmodule Cannery.Logger do
 | 
				
			|||||||
      |> Map.put(:stacktrace, Exception.format_stacktrace(stacktrace))
 | 
					      |> Map.put(:stacktrace, Exception.format_stacktrace(stacktrace))
 | 
				
			||||||
      |> pretty_encode()
 | 
					      |> pretty_encode()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Logger.error("#{meta.reason}: #{data}")
 | 
					    Logger.error("Oban exception: #{data}")
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def handle_event([:oban, :job, :start], measure, meta, _config) do
 | 
					  def handle_event([:oban, :job, :start], measure, meta, _config) do
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,6 +69,7 @@ defmodule CanneryWeb do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  def html do
 | 
					  def html do
 | 
				
			||||||
    quote do
 | 
					    quote do
 | 
				
			||||||
 | 
					      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
				
			||||||
      use Phoenix.Component
 | 
					      use Phoenix.Component
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Import convenience functions from controllers
 | 
					      # Import convenience functions from controllers
 | 
				
			||||||
@@ -82,11 +83,8 @@ defmodule CanneryWeb do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  defp html_helpers do
 | 
					  defp html_helpers do
 | 
				
			||||||
    quote do
 | 
					    quote do
 | 
				
			||||||
      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
					      use PhoenixHTMLHelpers
 | 
				
			||||||
      use Phoenix.HTML
 | 
					      import Phoenix.{Component, HTML, HTML.Form}
 | 
				
			||||||
 | 
					 | 
				
			||||||
      # credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
 | 
					 | 
				
			||||||
      import Phoenix.Component
 | 
					 | 
				
			||||||
      import CanneryWeb.{ErrorHelpers, Gettext, CoreComponents, HTMLHelpers}
 | 
					      import CanneryWeb.{ErrorHelpers, Gettext, CoreComponents, HTMLHelpers}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Shortcut for generating JS commands
 | 
					      # Shortcut for generating JS commands
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
    phx-submit="save"
 | 
					    phx-submit="save"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,7 @@
 | 
				
			|||||||
            <%= gettext("Range") %>
 | 
					            <%= gettext("Range") %>
 | 
				
			||||||
          </.link>
 | 
					          </.link>
 | 
				
			||||||
        </li>
 | 
					        </li>
 | 
				
			||||||
        <li :if={@current_user |> Accounts.is_already_admin?()} class="mx-2 my-1">
 | 
					        <li :if={@current_user |> Accounts.already_admin?()} class="mx-2 my-1">
 | 
				
			||||||
          <.link navigate={~p"/invites"} class="text-white hover:underline">
 | 
					          <.link navigate={~p"/invites"} class="text-white hover:underline">
 | 
				
			||||||
            <%= gettext("Invites") %>
 | 
					            <%= gettext("Invites") %>
 | 
				
			||||||
          </.link>
 | 
					          </.link>
 | 
				
			||||||
@@ -70,7 +70,7 @@
 | 
				
			|||||||
        </li>
 | 
					        </li>
 | 
				
			||||||
        <li
 | 
					        <li
 | 
				
			||||||
          :if={
 | 
					          :if={
 | 
				
			||||||
            @current_user |> Accounts.is_already_admin?() and
 | 
					            @current_user |> Accounts.already_admin?() and
 | 
				
			||||||
              function_exported?(Routes, :live_dashboard_path, 2)
 | 
					              function_exported?(Routes, :live_dashboard_path, 2)
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          class="mx-2 my-1"
 | 
					          class="mx-2 my-1"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,45 @@
 | 
				
			|||||||
<main role="main" class="min-h-full min-w-full">
 | 
					<main class="pb-8 min-w-full">
 | 
				
			||||||
  <header>
 | 
					  <header>
 | 
				
			||||||
    <.topbar current_user={assigns[:current_user]} />
 | 
					    <.topbar current_user={assigns[:current_user]} />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
 | 
					    <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
 | 
				
			||||||
      <p :if={@flash["info"]} class="alert alert-info" role="alert">
 | 
					      <p
 | 
				
			||||||
        <%= @flash["info"] %>
 | 
					        :if={@flash && @flash |> Map.has_key?("info")}
 | 
				
			||||||
 | 
					        class="alert alert-info"
 | 
				
			||||||
 | 
					        role="alert"
 | 
				
			||||||
 | 
					        phx-click="lv:clear-flash"
 | 
				
			||||||
 | 
					        phx-value-key="info"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        <%= live_flash(@flash, "info") %>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
      <p :if={@flash["error"]} class="alert alert-danger" role="alert">
 | 
					
 | 
				
			||||||
        <%= @flash["error"] %>
 | 
					      <p
 | 
				
			||||||
 | 
					        :if={@flash && @flash |> Map.has_key?("error")}
 | 
				
			||||||
 | 
					        class="alert alert-danger"
 | 
				
			||||||
 | 
					        role="alert"
 | 
				
			||||||
 | 
					        phx-click="lv:clear-flash"
 | 
				
			||||||
 | 
					        phx-value-key="error"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        <%= live_flash(@flash, "error") %>
 | 
				
			||||||
      </p>
 | 
					      </p>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </header>
 | 
					  </header>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <div class="mx-4 sm:mx-8 md:mx-16">
 | 
					  <div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
 | 
				
			||||||
    <%= @inner_content %>
 | 
					    <%= @inner_content %>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</main>
 | 
					</main>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div
 | 
				
			||||||
 | 
					  id="disconnect"
 | 
				
			||||||
 | 
					  class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
 | 
				
			||||||
 | 
					  border border-primary-200 shadow-lg rounded-lg bg-white
 | 
				
			||||||
 | 
					  flex justify-center items-center space-x-4
 | 
				
			||||||
 | 
					  transition-opacity ease-in-out duration-500 delay-[2000ms]"
 | 
				
			||||||
 | 
					>
 | 
				
			||||||
 | 
					  <i class="fas fa-fade text-md fa-satellite-dish"></i>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <h1 class="title text-md title-primary-500">
 | 
				
			||||||
 | 
					    <%= gettext("Reconnecting...") %>
 | 
				
			||||||
 | 
					  </h1>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								lib/cannery_web/components/layouts/empty.html.heex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								lib/cannery_web/components/layouts/empty.html.heex
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					<%= @inner_block %>
 | 
				
			||||||
@@ -1,45 +0,0 @@
 | 
				
			|||||||
<main class="pb-8 min-w-full">
 | 
					 | 
				
			||||||
  <header>
 | 
					 | 
				
			||||||
    <.topbar current_user={assigns[:current_user]} />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
 | 
					 | 
				
			||||||
      <p
 | 
					 | 
				
			||||||
        :if={@flash && @flash |> Map.has_key?("info")}
 | 
					 | 
				
			||||||
        class="alert alert-info"
 | 
					 | 
				
			||||||
        role="alert"
 | 
					 | 
				
			||||||
        phx-click="lv:clear-flash"
 | 
					 | 
				
			||||||
        phx-value-key="info"
 | 
					 | 
				
			||||||
      >
 | 
					 | 
				
			||||||
        <%= live_flash(@flash, "info") %>
 | 
					 | 
				
			||||||
      </p>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      <p
 | 
					 | 
				
			||||||
        :if={@flash && @flash |> Map.has_key?("error")}
 | 
					 | 
				
			||||||
        class="alert alert-danger"
 | 
					 | 
				
			||||||
        role="alert"
 | 
					 | 
				
			||||||
        phx-click="lv:clear-flash"
 | 
					 | 
				
			||||||
        phx-value-key="error"
 | 
					 | 
				
			||||||
      >
 | 
					 | 
				
			||||||
        <%= live_flash(@flash, "error") %>
 | 
					 | 
				
			||||||
      </p>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
  </header>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  <div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
 | 
					 | 
				
			||||||
    <%= @inner_content %>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</main>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<div
 | 
					 | 
				
			||||||
  id="disconnect"
 | 
					 | 
				
			||||||
  class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
 | 
					 | 
				
			||||||
  border border-primary-200 shadow-lg rounded-lg bg-white
 | 
					 | 
				
			||||||
  flex justify-center items-center space-x-4
 | 
					 | 
				
			||||||
  transition-opacity ease-in-out duration-500 delay-[2000ms]"
 | 
					 | 
				
			||||||
>
 | 
					 | 
				
			||||||
  <i class="fas fa-fade text-md fa-satellite-dish"></i>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  <h1 class="title text-md title-primary-500">
 | 
					 | 
				
			||||||
    <%= gettext("Reconnecting...") %>
 | 
					 | 
				
			||||||
  </h1>
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
    action={~p"/users/register"}
 | 
					    action={~p"/users/register"}
 | 
				
			||||||
    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
					    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
 | 
					    <p :if={@changeset.action && not @changeset.valid?} class="alert alert-danger col-span-3">
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
    action={~p"/users/reset_password/#{@token}"}
 | 
					    action={~p"/users/reset_password/#{@token}"}
 | 
				
			||||||
    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
					    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
 | 
					    <p :if={@changeset.action && not @changeset.valid?} class="alert alert-danger col-span-3">
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,10 +15,18 @@
 | 
				
			|||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
 | 
					    <%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
 | 
				
			||||||
    <%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
 | 
					    <%= email_input(f, :email,
 | 
				
			||||||
 | 
					      autocomplete: :email,
 | 
				
			||||||
 | 
					      class: "input input-primary col-span-2",
 | 
				
			||||||
 | 
					      required: true
 | 
				
			||||||
 | 
					    ) %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
 | 
					    <%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
 | 
				
			||||||
    <%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
 | 
					    <%= password_input(f, :password,
 | 
				
			||||||
 | 
					      autocomplete: "current-password",
 | 
				
			||||||
 | 
					      class: "input input-primary col-span-2",
 | 
				
			||||||
 | 
					      required: true
 | 
				
			||||||
 | 
					    ) %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <%= label(f, :remember_me, gettext("Keep me logged in for 60 days"),
 | 
					    <%= label(f, :remember_me, gettext("Keep me logged in for 60 days"),
 | 
				
			||||||
      class: "title text-lg text-primary-600"
 | 
					      class: "title text-lg text-primary-600"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@
 | 
				
			|||||||
    </h3>
 | 
					    </h3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@email_changeset.action && not @email_changeset.valid?()}
 | 
					      :if={@email_changeset.action && not @email_changeset.valid?}
 | 
				
			||||||
      class="alert alert-danger col-span-3"
 | 
					      class="alert alert-danger col-span-3"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
@@ -58,7 +58,7 @@
 | 
				
			|||||||
    </h3>
 | 
					    </h3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@password_changeset.action && not @password_changeset.valid?()}
 | 
					      :if={@password_changeset.action && not @password_changeset.valid?}
 | 
				
			||||||
      class="alert alert-danger col-span-3"
 | 
					      class="alert alert-danger col-span-3"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
@@ -112,7 +112,7 @@
 | 
				
			|||||||
    ) %>
 | 
					    ) %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@locale_changeset.action && not @locale_changeset.valid?()}
 | 
					      :if={@locale_changeset.action && not @locale_changeset.valid?}
 | 
				
			||||||
      class="alert alert-danger col-span-3"
 | 
					      class="alert alert-danger col-span-3"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,8 +3,8 @@ defmodule CanneryWeb.ErrorHelpers do
 | 
				
			|||||||
  Conveniences for translating and building error messages.
 | 
					  Conveniences for translating and building error messages.
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  use Phoenix.HTML
 | 
					  use PhoenixHTMLHelpers
 | 
				
			||||||
  import Phoenix.Component
 | 
					  import Phoenix.{Component, HTML.Form}
 | 
				
			||||||
  alias Ecto.Changeset
 | 
					  alias Ecto.Changeset
 | 
				
			||||||
  alias Phoenix.{HTML.Form, LiveView.Rendered}
 | 
					  alias Phoenix.{HTML.Form, LiveView.Rendered}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -65,7 +65,7 @@ defmodule CanneryWeb.ErrorHelpers do
 | 
				
			|||||||
    changeset
 | 
					    changeset
 | 
				
			||||||
    |> changeset_error_map()
 | 
					    |> changeset_error_map()
 | 
				
			||||||
    |> Enum.map_join(". ", fn {key, errors} ->
 | 
					    |> Enum.map_join(". ", fn {key, errors} ->
 | 
				
			||||||
      "#{key |> humanize()}: #{errors |> Enum.join(", ")}"
 | 
					      "#{key |> Phoenix.Naming.humanize()}: #{errors |> Enum.join(", ")}"
 | 
				
			||||||
    end)
 | 
					    end)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
    phx-submit="save"
 | 
					    phx-submit="save"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,6 +130,21 @@
 | 
				
			|||||||
              <%= type_name %>
 | 
					              <%= type_name %>
 | 
				
			||||||
            </.link>
 | 
					            </.link>
 | 
				
			||||||
          </:type>
 | 
					          </:type>
 | 
				
			||||||
 | 
					          <:actions :let={%{count: pack_count} = pack}>
 | 
				
			||||||
 | 
					            <div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
 | 
				
			||||||
 | 
					              <.link
 | 
				
			||||||
 | 
					                navigate={~p"/ammo/show/#{pack}"}
 | 
				
			||||||
 | 
					                class="text-primary-600 link"
 | 
				
			||||||
 | 
					                aria-label={
 | 
				
			||||||
 | 
					                  dgettext("actions", "View pack of %{pack_count} bullets",
 | 
				
			||||||
 | 
					                    pack_count: pack_count
 | 
				
			||||||
 | 
					                  )
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              >
 | 
				
			||||||
 | 
					                <i class="fa-fw fa-lg fas fa-eye"></i>
 | 
				
			||||||
 | 
					              </.link>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </:actions>
 | 
				
			||||||
        </.live_component>
 | 
					        </.live_component>
 | 
				
			||||||
      <% else %>
 | 
					      <% else %>
 | 
				
			||||||
        <div class="flex flex-wrap justify-center items-stretch">
 | 
					        <div class="flex flex-wrap justify-center items-stretch">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
    phx-submit="save"
 | 
					    phx-submit="save"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
					    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
    phx-submit="save"
 | 
					    phx-submit="save"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
    phx-submit="save"
 | 
					    phx-submit="save"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= changeset_errors(@changeset) %>
 | 
					      <%= changeset_errors(@changeset) %>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
					    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
 | 
				
			||||||
  >
 | 
					  >
 | 
				
			||||||
    <div
 | 
					    <div
 | 
				
			||||||
      :if={@changeset.action && not @changeset.valid?()}
 | 
					      :if={@changeset.action && not @changeset.valid?}
 | 
				
			||||||
      class="invalid-feedback col-span-3 text-center"
 | 
					      class="invalid-feedback col-span-3 text-center"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
					      <%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								mix.exs
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								mix.exs
									
									
									
									
									
								
							@@ -4,8 +4,8 @@ defmodule Cannery.MixProject do
 | 
				
			|||||||
  def project do
 | 
					  def project do
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
      app: :cannery,
 | 
					      app: :cannery,
 | 
				
			||||||
      version: "0.9.5",
 | 
					      version: "0.10.0",
 | 
				
			||||||
      elixir: "1.15.4",
 | 
					      elixir: "1.17.0",
 | 
				
			||||||
      elixirc_paths: elixirc_paths(Mix.env()),
 | 
					      elixirc_paths: elixirc_paths(Mix.env()),
 | 
				
			||||||
      start_permanent: Mix.env() == :prod,
 | 
					      start_permanent: Mix.env() == :prod,
 | 
				
			||||||
      aliases: aliases(),
 | 
					      aliases: aliases(),
 | 
				
			||||||
@@ -47,29 +47,30 @@ defmodule Cannery.MixProject do
 | 
				
			|||||||
  defp deps do
 | 
					  defp deps do
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
      {:bcrypt_elixir, "~> 3.0"},
 | 
					      {:bcrypt_elixir, "~> 3.0"},
 | 
				
			||||||
      {:phoenix, "~> 1.7.0"},
 | 
					      {:credo, "~> 1.5", only: [:dev, :test], runtime: false},
 | 
				
			||||||
      {:phoenix_ecto, "~> 4.4"},
 | 
					      {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false},
 | 
				
			||||||
      {:phoenix_html, "~> 3.0"},
 | 
					      {:ecto_psql_extras, "~> 0.6"},
 | 
				
			||||||
      {:phoenix_live_reload, "~> 1.2", only: :dev},
 | 
					 | 
				
			||||||
      {:phoenix_live_view, "~> 0.19.0"},
 | 
					 | 
				
			||||||
      {:phoenix_live_dashboard, "~> 0.8"},
 | 
					 | 
				
			||||||
      {:ecto_sql, "~> 3.6"},
 | 
					      {:ecto_sql, "~> 3.6"},
 | 
				
			||||||
      {:postgrex, ">= 0.0.0"},
 | 
					      {:eqrcode, "~> 0.1.10"},
 | 
				
			||||||
      {:floki, ">= 0.30.0", only: :test},
 | 
					 | 
				
			||||||
      # {:esbuild, "~> 0.3", runtime: Mix.env() == :dev},
 | 
					      # {:esbuild, "~> 0.3", runtime: Mix.env() == :dev},
 | 
				
			||||||
      {:ex_doc, "~> 0.27", only: :dev, runtime: false},
 | 
					      {:ex_doc, "~> 0.27", only: :dev, runtime: false},
 | 
				
			||||||
      {:swoosh, "~> 1.6"},
 | 
					      {:floki, ">= 0.30.0", only: :test},
 | 
				
			||||||
      {:gen_smtp, "~> 1.0"},
 | 
					      {:gen_smtp, "~> 1.0"},
 | 
				
			||||||
      {:oban, "~> 2.10"},
 | 
					 | 
				
			||||||
      {:telemetry_metrics, "~> 0.6"},
 | 
					 | 
				
			||||||
      {:telemetry_poller, "~> 1.0"},
 | 
					 | 
				
			||||||
      {:gettext, "~> 0.18"},
 | 
					      {:gettext, "~> 0.18"},
 | 
				
			||||||
      {:jason, "~> 1.2"},
 | 
					      {:jason, "~> 1.2"},
 | 
				
			||||||
      {:plug_cowboy, "~> 2.5"},
 | 
					      {:oban, "~> 2.10"},
 | 
				
			||||||
      {:ecto_psql_extras, "~> 0.6"},
 | 
					      {:phoenix_ecto, "~> 4.4"},
 | 
				
			||||||
      {:eqrcode, "~> 0.1.10"},
 | 
					      {:phoenix_html_helpers, "~> 1.0"},
 | 
				
			||||||
      {:credo, "~> 1.5", only: [:dev, :test], runtime: false},
 | 
					      {:phoenix_html, "~> 4.0"},
 | 
				
			||||||
      {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}
 | 
					      {:phoenix_live_dashboard, "~> 0.8"},
 | 
				
			||||||
 | 
					      {:phoenix_live_reload, "~> 1.2", only: :dev},
 | 
				
			||||||
 | 
					      {:phoenix_live_view, "~> 0.20.0"},
 | 
				
			||||||
 | 
					      {:phoenix, "~> 1.7.11"},
 | 
				
			||||||
 | 
					      {:plug_cowboy, "~> 2.7"},
 | 
				
			||||||
 | 
					      {:postgrex, ">= 0.0.0"},
 | 
				
			||||||
 | 
					      {:swoosh, "~> 1.6"},
 | 
				
			||||||
 | 
					      {:telemetry_metrics, "~> 0.6"},
 | 
				
			||||||
 | 
					      {:telemetry_poller, "~> 1.0"}
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										78
									
								
								mix.lock
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								mix.lock
									
									
									
									
									
								
							@@ -1,54 +1,54 @@
 | 
				
			|||||||
%{
 | 
					%{
 | 
				
			||||||
  "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"},
 | 
					  "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"},
 | 
				
			||||||
  "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
 | 
					  "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"},
 | 
				
			||||||
  "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"},
 | 
					  "castore": {:hex, :castore, "1.0.7", "b651241514e5f6956028147fe6637f7ac13802537e895a724f90bf3e36ddd1dd", [:mix], [], "hexpm", "da7785a4b0d2a021cd1292a60875a784b6caef71e76bf4917bdee1f390455cf5"},
 | 
				
			||||||
  "comeonin": {:hex, :comeonin, "5.4.0", "246a56ca3f41d404380fc6465650ddaa532c7f98be4bda1b4656b3a37cc13abe", [:mix], [], "hexpm", "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"},
 | 
					  "comeonin": {:hex, :comeonin, "5.4.0", "246a56ca3f41d404380fc6465650ddaa532c7f98be4bda1b4656b3a37cc13abe", [:mix], [], "hexpm", "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"},
 | 
				
			||||||
  "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"},
 | 
					  "cowboy": {:hex, :cowboy, "2.12.0", "f276d521a1ff88b2b9b4c54d0e753da6c66dd7be6c9fca3d9418b561828a3731", [:make, :rebar3], [{:cowlib, "2.13.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"},
 | 
				
			||||||
  "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"},
 | 
					 | 
				
			||||||
  "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
 | 
					  "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
 | 
				
			||||||
  "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"},
 | 
					  "cowlib": {:hex, :cowlib, "2.13.0", "db8f7505d8332d98ef50a3ef34b34c1afddec7506e4ee4dd4a3a266285d282ca", [:make, :rebar3], [], "hexpm", "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4"},
 | 
				
			||||||
  "credo": {:hex, :credo, "1.7.0", "6119bee47272e85995598ee04f2ebbed3e947678dee048d10b5feca139435f75", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "6839fcf63d1f0d1c0f450abc8564a57c43d644077ab96f2934563e68b8a769d7"},
 | 
					  "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"},
 | 
				
			||||||
  "db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"},
 | 
					  "db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"},
 | 
				
			||||||
  "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
 | 
					  "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
 | 
				
			||||||
  "dialyxir": {:hex, :dialyxir, "1.4.1", "a22ed1e7bd3a3e3f197b68d806ef66acb61ee8f57b3ac85fc5d57354c5482a93", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "84b795d6d7796297cca5a3118444b80c7d94f7ce247d49886e7c291e1ae49801"},
 | 
					  "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"},
 | 
				
			||||||
  "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"},
 | 
					  "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"},
 | 
				
			||||||
  "ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"},
 | 
					  "ecto": {:hex, :ecto, "3.11.2", "e1d26be989db350a633667c5cda9c3d115ae779b66da567c68c80cfb26a8c9ee", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3c38bca2c6f8d8023f2145326cc8a80100c3ffe4dcbd9842ff867f7fc6156c65"},
 | 
				
			||||||
  "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.13", "9947637f82b92dcec93d44ad09ba24d1990bd7ca69e1c68981fb3b6f8bd18829", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "0f2288e6163f6aacd7e59545a56adc8df7d2079d18be7d3d6159d10f4dffc396"},
 | 
					  "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.8.0", "440719cd74f09b3f01c84455707a2c3972b725c513808e68eb6c5b0ab82bf523", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 0.18.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1 or ~> 4.0.0", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "f1512812dc196bcb932a96c82e55f69b543dc125e9d39f5e3631a9c4ec65ef12"},
 | 
				
			||||||
  "ecto_sql": {:hex, :ecto_sql, "3.10.2", "6b98b46534b5c2f8b8b5f03f126e75e2a73c64f3c071149d32987a5378b0fdbd", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "68c018debca57cb9235e3889affdaec7a10616a4e3a80c99fa1d01fdafaa9007"},
 | 
					  "ecto_sql": {:hex, :ecto_sql, "3.11.3", "4eb7348ff8101fbc4e6bbc5a4404a24fecbe73a3372d16569526b0cf34ebc195", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.11.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e5f36e3d736b99c7fee3e631333b8394ade4bafe9d96d35669fca2d81c2be928"},
 | 
				
			||||||
  "elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"},
 | 
					  "elixir_make": {:hex, :elixir_make, "0.8.4", "4960a03ce79081dee8fe119d80ad372c4e7badb84c493cc75983f9d3bc8bde0f", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.0", [hex: :certifi, repo: "hexpm", optional: true]}], "hexpm", "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040"},
 | 
				
			||||||
  "eqrcode": {:hex, :eqrcode, "0.1.10", "6294fece9d68ad64eef1c3c92cf111cfd6469f4fbf230a2d4cc905a682178f3f", [:mix], [], "hexpm", "da30e373c36a0fd37ab6f58664b16029919896d6c45a68a95cc4d713e81076f1"},
 | 
					  "eqrcode": {:hex, :eqrcode, "0.1.10", "6294fece9d68ad64eef1c3c92cf111cfd6469f4fbf230a2d4cc905a682178f3f", [:mix], [], "hexpm", "da30e373c36a0fd37ab6f58664b16029919896d6c45a68a95cc4d713e81076f1"},
 | 
				
			||||||
  "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
 | 
					  "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
 | 
				
			||||||
  "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"},
 | 
					  "ex_doc": {:hex, :ex_doc, "0.34.0", "ab95e0775db3df71d30cf8d78728dd9261c355c81382bcd4cefdc74610bef13e", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "60734fb4c1353f270c3286df4a0d51e65a2c1d9fba66af3940847cc65a8066d7"},
 | 
				
			||||||
  "expo": {:hex, :expo, "0.4.1", "1c61d18a5df197dfda38861673d392e642649a9cef7694d2f97a587b2cfb319b", [:mix], [], "hexpm", "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47"},
 | 
					  "expo": {:hex, :expo, "0.5.2", "beba786aab8e3c5431813d7a44b828e7b922bfa431d6bfbada0904535342efe2", [:mix], [], "hexpm", "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"},
 | 
				
			||||||
  "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
 | 
					  "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"},
 | 
				
			||||||
  "floki": {:hex, :floki, "0.34.3", "5e2dcaec5d7c228ce5b1d3501502e308b2d79eb655e4191751a1fe491c37feac", [:mix], [], "hexpm", "9577440eea5b97924b4bf3c7ea55f7b8b6dce589f9b28b096cc294a8dc342341"},
 | 
					  "floki": {:hex, :floki, "0.36.2", "a7da0193538c93f937714a6704369711998a51a6164a222d710ebd54020aa7a3", [:mix], [], "hexpm", "a8766c0bc92f074e5cb36c4f9961982eda84c5d2b8e979ca67f5c268ec8ed580"},
 | 
				
			||||||
  "gen_smtp": {:hex, :gen_smtp, "1.2.0", "9cfc75c72a8821588b9b9fe947ae5ab2aed95a052b81237e0928633a13276fd3", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"},
 | 
					  "gen_smtp": {:hex, :gen_smtp, "1.2.0", "9cfc75c72a8821588b9b9fe947ae5ab2aed95a052b81237e0928633a13276fd3", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"},
 | 
				
			||||||
  "gettext": {:hex, :gettext, "0.23.1", "821e619a240e6000db2fc16a574ef68b3bd7fe0167ccc264a81563cc93e67a31", [:mix], [{:expo, "~> 0.4.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db"},
 | 
					  "gettext": {:hex, :gettext, "0.24.0", "6f4d90ac5f3111673cbefc4ebee96fe5f37a114861ab8c7b7d5b30a1108ce6d8", [:mix], [{:expo, "~> 0.5.1", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"},
 | 
				
			||||||
  "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"},
 | 
					  "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"},
 | 
				
			||||||
  "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"},
 | 
					  "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"},
 | 
				
			||||||
  "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"},
 | 
					  "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"},
 | 
				
			||||||
  "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"},
 | 
					  "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"},
 | 
				
			||||||
  "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"},
 | 
					  "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"},
 | 
				
			||||||
  "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"},
 | 
					  "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"},
 | 
				
			||||||
  "oban": {:hex, :oban, "2.15.4", "d49ab4ffb7153010e32f80fe9e56f592706238149ec579eb50f8a4e41d218856", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fce611fdfffb13e9148df883116e5201adf1e731eb302cc88cde0588510079c"},
 | 
					  "oban": {:hex, :oban, "2.17.10", "c3e5bd739b5c3fdc38eba1d43ab270a8c6ca4463bb779b7705c69400b0d87678", [:mix], [{:ecto_sql, "~> 3.10", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4afd027b8e2bc3c399b54318b4f46ee8c40251fb55a285cb4e38b5363f0ee7c4"},
 | 
				
			||||||
  "phoenix": {:hex, :phoenix, "1.7.7", "4cc501d4d823015007ba3cdd9c41ecaaf2ffb619d6fb283199fa8ddba89191e0", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "8966e15c395e5e37591b6ed0bd2ae7f48e961f0f60ac4c733f9566b519453085"},
 | 
					  "phoenix": {:hex, :phoenix, "1.7.12", "1cc589e0eab99f593a8aa38ec45f15d25297dd6187ee801c8de8947090b5a9d3", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "d646192fbade9f485b01bc9920c139bfdd19d0f8df3d73fd8eaf2dfbe0d2837c"},
 | 
				
			||||||
  "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"},
 | 
					  "phoenix_ecto": {:hex, :phoenix_ecto, "4.6.1", "96798325fab2fed5a824ca204e877b81f9afd2e480f581e81f7b4b64a5a477f2", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.17", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "0ae544ff99f3c482b0807c5cec2c8289e810ecacabc04959d82c3337f4703391"},
 | 
				
			||||||
  "phoenix_html": {:hex, :phoenix_html, "3.3.2", "d6ce982c6d8247d2fc0defe625255c721fb8d5f1942c5ac051f6177bffa5973f", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "44adaf8e667c1c20fb9d284b6b0fa8dc7946ce29e81ce621860aa7e96de9a11d"},
 | 
					  "phoenix_html": {:hex, :phoenix_html, "4.1.1", "4c064fd3873d12ebb1388425a8f2a19348cef56e7289e1998e2d2fa758aa982e", [:mix], [], "hexpm", "f2f2df5a72bc9a2f510b21497fd7d2b86d932ec0598f0210fed4114adc546c6f"},
 | 
				
			||||||
  "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.1", "c4f2a2d3b26e6ca684d162ccf18aaeed8bed2181896e0393d0a2959789482e51", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "1ca0f954274ce1916f771f86b3d49a91d3447e7c32d171660676095c5f30abe9"},
 | 
					  "phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"},
 | 
				
			||||||
  "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"},
 | 
					  "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"},
 | 
				
			||||||
  "phoenix_live_view": {:hex, :phoenix_live_view, "0.19.5", "6e730595e8e9b8c5da230a814e557768828fd8dfeeb90377d2d8dbb52d4ec00a", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"},
 | 
					  "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.5.3", "f2161c207fda0e4fb55165f650f7f8db23f02b29e3bff00ff7ef161d6ac1f09d", [:mix], [{:file_system, "~> 0.3 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "b4ec9cd73cb01ff1bd1cac92e045d13e7030330b74164297d1aee3907b54803c"},
 | 
				
			||||||
 | 
					  "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.14", "70fa101aa0539e81bed4238777498f6215e9dda3461bdaa067cad6908110c364", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "82f6d006c5264f979ed5eb75593d808bbe39020f20df2e78426f4f2d570e2402"},
 | 
				
			||||||
  "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
 | 
					  "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
 | 
				
			||||||
  "phoenix_template": {:hex, :phoenix_template, "1.0.3", "32de561eefcefa951aead30a1f94f1b5f0379bc9e340bb5c667f65f1edfa4326", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "16f4b6588a4152f3cc057b9d0c0ba7e82ee23afa65543da535313ad8d25d8e2c"},
 | 
					  "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"},
 | 
				
			||||||
  "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"},
 | 
					  "plug": {:hex, :plug, "1.16.0", "1d07d50cb9bb05097fdf187b31cf087c7297aafc3fed8299aac79c128a707e47", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cbf53aa1f5c4d758a7559c0bd6d59e286c2be0c6a1fac8cc3eee2f638243b93e"},
 | 
				
			||||||
  "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"},
 | 
					  "plug_cowboy": {:hex, :plug_cowboy, "2.7.1", "87677ffe3b765bc96a89be7960f81703223fe2e21efa42c125fcd0127dd9d6b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "02dbd5f9ab571b864ae39418db7811618506256f6d13b4a45037e5fe78dc5de3"},
 | 
				
			||||||
  "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"},
 | 
					  "plug_crypto": {:hex, :plug_crypto, "2.1.0", "f44309c2b06d249c27c8d3f65cfe08158ade08418cf540fd4f72d4d6863abb7b", [:mix], [], "hexpm", "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"},
 | 
				
			||||||
  "postgrex": {:hex, :postgrex, "0.17.3", "c92cda8de2033a7585dae8c61b1d420a1a1322421df84da9a82a6764580c503d", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "946cf46935a4fdca7a81448be76ba3503cff082df42c6ec1ff16a4bdfbfb098d"},
 | 
					  "postgrex": {:hex, :postgrex, "0.18.0", "f34664101eaca11ff24481ed4c378492fed2ff416cd9b06c399e90f321867d7e", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "a042989ba1bc1cca7383ebb9e461398e3f89f868c92ce6671feb7ef132a252d1"},
 | 
				
			||||||
  "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
 | 
					  "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
 | 
				
			||||||
  "swoosh": {:hex, :swoosh, "1.11.5", "429dccde78e2f60c6339e96917efecebca9d1f254d2878a150f580d2f782260b", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21ee57dcd68d2f56d3bbe11e76d56d142b221bb12b6018c551cc68442b800040"},
 | 
					  "swoosh": {:hex, :swoosh, "1.16.9", "20c6a32ea49136a4c19f538e27739bb5070558c0fa76b8a95f4d5d5ca7d319a1", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.0", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "878b1a7a6c10ebbf725a3349363f48f79c5e3d792eb621643b0d276a38acc0a6"},
 | 
				
			||||||
  "table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"},
 | 
					  "table_rex": {:hex, :table_rex, "4.0.0", "3c613a68ebdc6d4d1e731bc973c233500974ec3993c99fcdabb210407b90959b", [:mix], [], "hexpm", "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55"},
 | 
				
			||||||
  "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
 | 
					  "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
 | 
				
			||||||
  "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.1", "315d9163a1d4660aedc3fee73f33f1d355dcc76c5c3ab3d59e76e3edf80eef1f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7be9e0871c41732c233be71e4be11b96e56177bf15dde64a8ac9ce72ac9834c6"},
 | 
					  "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.2", "2caabe9344ec17eafe5403304771c3539f3b6e2f7fb6a6f602558c825d0d0bfb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"},
 | 
				
			||||||
  "telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"},
 | 
					  "telemetry_poller": {:hex, :telemetry_poller, "1.1.0", "58fa7c216257291caaf8d05678c8d01bd45f4bdbc1286838a28c4bb62ef32999", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f"},
 | 
				
			||||||
  "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"},
 | 
					  "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"},
 | 
				
			||||||
  "websock_adapter": {:hex, :websock_adapter, "0.5.4", "7af8408e7ed9d56578539594d1ee7d8461e2dd5c3f57b0f2a5352d610ddde757", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "d2c238c79c52cbe223fcdae22ca0bb5007a735b9e933870e241fce66afb4f4ab"},
 | 
					  "websock_adapter": {:hex, :websock_adapter, "0.5.6", "0437fe56e093fd4ac422de33bf8fc89f7bc1416a3f2d732d8b2c8fd54792fe60", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "e04378d26b0af627817ae84c92083b7e97aca3121196679b73c73b99d0d133ea"},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ msgstr ""
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -72,7 +72,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -98,7 +98,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -305,6 +305,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,7 +69,7 @@ msgstr "Benutzer löschen"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr "Passwort vergessen?"
 | 
					msgstr "Passwort vergessen?"
 | 
				
			||||||
@@ -85,7 +85,7 @@ msgstr "Laden Sie jemanden ein!"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr "Einloggen"
 | 
					msgstr "Einloggen"
 | 
				
			||||||
@@ -111,7 +111,7 @@ msgstr "Neuer Tag"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr "Registrieren"
 | 
					msgstr "Registrieren"
 | 
				
			||||||
@@ -318,6 +318,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format, fuzzy
 | 
					#, elixir-autogen, elixir-format, fuzzy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -184,7 +184,7 @@ msgstr "Nur mit Einladung"
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr "Einladungen"
 | 
					msgstr "Einladungen"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr "Für 60 Tage eingeloggt bleiben"
 | 
					msgstr "Für 60 Tage eingeloggt bleiben"
 | 
				
			||||||
@@ -559,7 +559,7 @@ msgstr "Neues Passwort"
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr "Patronenhülsenform"
 | 
					msgstr "Patronenhülsenform"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr "Neu verbinden..."
 | 
					msgstr "Neu verbinden..."
 | 
				
			||||||
@@ -1135,7 +1135,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -180,7 +180,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -553,7 +553,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -1118,7 +1118,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ msgstr ""
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -72,7 +72,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -98,7 +98,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -305,6 +305,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format, fuzzy
 | 
					#, elixir-autogen, elixir-format, fuzzy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -180,7 +180,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -553,7 +553,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -1118,7 +1118,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,7 +69,7 @@ msgstr "Eliminar cuenta de Usuario"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr "¿Has olvidado tu contraseña?"
 | 
					msgstr "¿Has olvidado tu contraseña?"
 | 
				
			||||||
@@ -85,7 +85,7 @@ msgstr "¡Invita a alguien nuevo!"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr "Entrar"
 | 
					msgstr "Entrar"
 | 
				
			||||||
@@ -111,7 +111,7 @@ msgstr "Nueva Etiqueta"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr "Registrarse"
 | 
					msgstr "Registrarse"
 | 
				
			||||||
@@ -318,6 +318,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format, fuzzy
 | 
					#, elixir-autogen, elixir-format, fuzzy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -184,7 +184,7 @@ msgstr "Solo Invitación"
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr "Invitaciones"
 | 
					msgstr "Invitaciones"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr "Mantener registrado durante 60 días"
 | 
					msgstr "Mantener registrado durante 60 días"
 | 
				
			||||||
@@ -560,7 +560,7 @@ msgstr "Nueva contraseña"
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr "Tipo de fuego"
 | 
					msgstr "Tipo de fuego"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr "Reconectando..."
 | 
					msgstr "Reconectando..."
 | 
				
			||||||
@@ -1137,7 +1137,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,7 +69,7 @@ msgstr "Supprimer utilisateur"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr "Mot de passe oublié ?"
 | 
					msgstr "Mot de passe oublié ?"
 | 
				
			||||||
@@ -85,7 +85,7 @@ msgstr "Invitez une nouvelle personne !"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr "Se connecter"
 | 
					msgstr "Se connecter"
 | 
				
			||||||
@@ -111,7 +111,7 @@ msgstr "Nouveau tag"
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr "S’enregistrer"
 | 
					msgstr "S’enregistrer"
 | 
				
			||||||
@@ -318,6 +318,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format, fuzzy
 | 
					#, elixir-autogen, elixir-format, fuzzy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -184,7 +184,7 @@ msgstr "Uniquement sur invitation"
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr "Invitations"
 | 
					msgstr "Invitations"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr "Me garder authentifié durant 60 jours"
 | 
					msgstr "Me garder authentifié durant 60 jours"
 | 
				
			||||||
@@ -561,7 +561,7 @@ msgstr "Nouveau mot de passe"
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr "Type d’allumage"
 | 
					msgstr "Type d’allumage"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr "Reconnexion en cours…"
 | 
					msgstr "Reconnexion en cours…"
 | 
				
			||||||
@@ -1138,7 +1138,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,7 +67,7 @@ msgstr ""
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Forgot your password?"
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -83,7 +83,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Log in"
 | 
					msgid "Log in"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -109,7 +109,7 @@ msgstr ""
 | 
				
			|||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Register"
 | 
					msgid "Register"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -316,6 +316,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Edit pack of %{pack_count} bullets"
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
#, elixir-autogen, elixir-format, fuzzy
 | 
					#, elixir-autogen, elixir-format, fuzzy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -182,7 +182,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Invites"
 | 
					msgid "Invites"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Keep me logged in for 60 days"
 | 
					msgid "Keep me logged in for 60 days"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -555,7 +555,7 @@ msgstr ""
 | 
				
			|||||||
msgid "Firing type"
 | 
					msgid "Firing type"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/components/layouts/live.html.heex:43
 | 
					#: lib/cannery_web/components/layouts/app.html.heex:43
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Reconnecting..."
 | 
					msgid "Reconnecting..."
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
@@ -1129,7 +1129,7 @@ msgid "Email"
 | 
				
			|||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
 | 
				
			||||||
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
 | 
				
			||||||
#, elixir-autogen, elixir-format
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
msgid "Password"
 | 
					msgid "Password"
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										368
									
								
								priv/gettext/it/LC_MESSAGES/actions.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										368
									
								
								priv/gettext/it/LC_MESSAGES/actions.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,368 @@
 | 
				
			|||||||
 | 
					msgid ""
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					"Project-Id-Version: PACKAGE VERSION\n"
 | 
				
			||||||
 | 
					"Report-Msgid-Bugs-To: \n"
 | 
				
			||||||
 | 
					"POT-Creation-Date: 2023-11-20 05:05+0000\n"
 | 
				
			||||||
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 | 
					"Last-Translator: Automatically generated\n"
 | 
				
			||||||
 | 
					"Language-Team: none\n"
 | 
				
			||||||
 | 
					"Language: it\n"
 | 
				
			||||||
 | 
					"MIME-Version: 1.0\n"
 | 
				
			||||||
 | 
					"Content-Type: text/plain; charset=UTF-8\n"
 | 
				
			||||||
 | 
					"Content-Transfer-Encoding: 8bit\n"
 | 
				
			||||||
 | 
					"X-Generator: Translate Toolkit 3.10.1\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## This file is a PO Template file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## "msgid"s here are often extracted from source code.
 | 
				
			||||||
 | 
					## Add new translations manually only if they're dynamic
 | 
				
			||||||
 | 
					## translations that can't be statically extracted.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Run "mix gettext.extract" to bring this file up to
 | 
				
			||||||
 | 
					## date. Leave "msgstr"s empty as changing them here has no
 | 
				
			||||||
 | 
					## effect: edit them in PO (.po) files instead.
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.ex:59
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.ex:67
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:38
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add Ammo"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:34
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add your first box!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:13
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add your first container!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:13
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add your first type!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:15
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:43
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Change email"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:57
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:97
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Change password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:17
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Create Invite"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:155
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete User"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Forgot your password?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:13
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Invite someone new!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/core_components/topbar.html.heex:94
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:28
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:44
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Log in"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.html.heex:15
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Make your first tag!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:17
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "New Container"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.html.heex:19
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "New Tag"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/core_components/topbar.html.heex:89
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:25
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Register"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:16
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Resend confirmation instructions"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:29
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Reset password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/add_shot_record_component.html.heex:56
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/form_component.html.heex:55
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/form_component.html.heex:35
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.html.heex:90
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/form_component.html.heex:44
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/form_component.html.heex:37
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/form_component.html.heex:359
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Save"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:16
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Send instructions to reset password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:65
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Why not add one?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:51
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:17
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Stage ammo"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:13
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Why not get some ready to shoot?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:127
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:90
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:42
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Record shots"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/move_pack_component.ex:87
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Add another container!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/move_pack_component.ex:123
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Select"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:38
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Copy to clipboard"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:14
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "add a container first"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.html.heex:83
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Create"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:110
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Change Language"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:136
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Change language"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:52
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "View in Catalog"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/move_pack_component.ex:77
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:138
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:86
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Move ammo"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:90
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Set Unlimited"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:82
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:38
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Stage for range"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:81
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:37
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Unstage from range"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:146
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Export Data as JSON"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:87
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:145
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Clone %{container_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:35
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Copy invite link for %{invite_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:104
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:162
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:48
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete %{container_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.html.heex:65
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete %{tag_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:63
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete invite for %{invite_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:77
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:135
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:35
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit %{container_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.html.heex:52
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit %{tag_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:46
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit invite for %{invite_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:120
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Stage"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:65
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:124
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Tag %{container_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:119
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Unstage"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:172
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Clone pack of %{pack_count} bullets"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:187
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:71
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete pack of %{pack_count} bullets"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:160
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:59
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit pack of %{pack_count} bullets"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:139
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:148
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:201
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "View pack of %{pack_count} bullets"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.ex:159
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:154
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete shot record of %{shot_record_count} shots"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.ex:144
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:137
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit shot record of %{shot_record_count} shots"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:107
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Clone %{type_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:124
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:35
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Delete %{type_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:99
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:19
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Edit %{type_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:17
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "New Type"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:91
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "View %{type_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:24
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "add a type first"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
							
								
								
									
										1459
									
								
								priv/gettext/it/LC_MESSAGES/default.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1459
									
								
								priv/gettext/it/LC_MESSAGES/default.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										103
									
								
								priv/gettext/it/LC_MESSAGES/emails.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								priv/gettext/it/LC_MESSAGES/emails.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,103 @@
 | 
				
			|||||||
 | 
					msgid ""
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					"Project-Id-Version: PACKAGE VERSION\n"
 | 
				
			||||||
 | 
					"Report-Msgid-Bugs-To: \n"
 | 
				
			||||||
 | 
					"POT-Creation-Date: 2023-11-20 05:05+0000\n"
 | 
				
			||||||
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 | 
					"Last-Translator: Automatically generated\n"
 | 
				
			||||||
 | 
					"Language-Team: none\n"
 | 
				
			||||||
 | 
					"Language: it\n"
 | 
				
			||||||
 | 
					"MIME-Version: 1.0\n"
 | 
				
			||||||
 | 
					"Content-Type: text/plain; charset=UTF-8\n"
 | 
				
			||||||
 | 
					"Content-Transfer-Encoding: 8bit\n"
 | 
				
			||||||
 | 
					"X-Generator: Translate Toolkit 3.10.1\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## This file is a PO Template file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## "msgid"s here are often extracted from source code.
 | 
				
			||||||
 | 
					## Add new translations manually only if they're dynamic
 | 
				
			||||||
 | 
					## translations that can't be statically extracted.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Run "mix gettext.extract" to bring this file up to
 | 
				
			||||||
 | 
					## date. Leave "msgstr"s empty as changing them here has no
 | 
				
			||||||
 | 
					## effect: edit them in PO (.po) files instead.
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.txt.eex:2
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.txt.eex:2
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.html.heex:3
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.txt.eex:2
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Hi %{email},"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.txt.eex:10
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If you didn't create an account at %{url}, please ignore this."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.txt.eex:8
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.txt.eex:8
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If you didn't request this change from %{url}, please ignore this."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.html.heex:8
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.txt.eex:4
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You can change your email by visiting the URL below:"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.html.heex:14
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.txt.eex:6
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You can confirm your account by visiting the URL below:"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.html.heex:8
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.txt.eex:4
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You can reset your password by visiting the URL below:"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/email.ex:31
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Confirm your Cannery account"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.html.heex:22
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If you didn't create an account at Cannery, please ignore this."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/reset_password.html.heex:16
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/update_email.html.heex:16
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If you didn't request this change from Cannery, please ignore this."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/email.ex:38
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Reset your Cannery password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/layouts/email_text.txt.eex:9
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/layouts/email_html.html.heex:13
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/email.ex:45
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Update your Cannery email"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.html.heex:9
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/email_html/confirm_email.txt.eex:4
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Welcome to Cannery"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
							
								
								
									
										220
									
								
								priv/gettext/it/LC_MESSAGES/errors.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								priv/gettext/it/LC_MESSAGES/errors.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,220 @@
 | 
				
			|||||||
 | 
					msgid ""
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					"Project-Id-Version: PACKAGE VERSION\n"
 | 
				
			||||||
 | 
					"Report-Msgid-Bugs-To: \n"
 | 
				
			||||||
 | 
					"POT-Creation-Date: 2023-11-20 05:05+0000\n"
 | 
				
			||||||
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 | 
					"Last-Translator: Automatically generated\n"
 | 
				
			||||||
 | 
					"Language-Team: none\n"
 | 
				
			||||||
 | 
					"Language: it\n"
 | 
				
			||||||
 | 
					"MIME-Version: 1.0\n"
 | 
				
			||||||
 | 
					"Content-Type: text/plain; charset=UTF-8\n"
 | 
				
			||||||
 | 
					"Content-Transfer-Encoding: 8bit\n"
 | 
				
			||||||
 | 
					"X-Generator: Translate Toolkit 3.10.1\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## This file is a PO Template file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## "msgid"s here are often extracted from source code.
 | 
				
			||||||
 | 
					## Add new translations manually only if they're dynamic
 | 
				
			||||||
 | 
					## translations that can't be statically extracted.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Run "mix gettext.extract" to bring this file up to
 | 
				
			||||||
 | 
					## date. Leave "msgstr"s empty as changing them here has no
 | 
				
			||||||
 | 
					## effect: edit them in PO (.po) files instead.
 | 
				
			||||||
 | 
					#: lib/cannery/containers.ex:224
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Container must be empty before deleting"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.ex:86
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.ex:67
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Could not delete %{name}: %{error}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.ex:74
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Could not find that container"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:84
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Email change link is invalid or it has expired."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_html/error.html.heex:8
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Error"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_html/error.html.heex:28
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Go back home"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_controller.ex:17
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Invalid email or password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_html.ex:9
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_json.ex:7
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Not found"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_html/new.html.heex:13
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:13
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:22
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:64
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:118
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/form_component.html.heex:18
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Oops, something went wrong! Please check the errors below."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_controller.ex:62
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Reset password link is invalid or it has expired."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:22
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:51
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Sorry, public registration is disabled"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:12
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:41
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:70
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Sorry, this invite was not found or expired"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:99
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Unable to delete user"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_html.ex:10
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_json.ex:8
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Unauthorized"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_controller.ex:53
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "User confirmation link is invalid or it has expired."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_auth.ex:266
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You are not authorized to view this page."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/user.ex:145
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "did not change"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/user.ex:166
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "does not match password"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/user.ex:203
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "is not valid"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/accounts/user.ex:100
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "must have the @ sign and no spaces"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.ex:45
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Tag not found"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.ex:46
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Tag could not be added"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_auth.ex:38
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_auth.ex:250
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You must confirm your account and log in to access this page."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.ex:73
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Tag could not be removed"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.ex:159
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Could not parse number of copies"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.ex:149
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/ammo.ex:974
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Invalid multiplier"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:71
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Your browser does not support the canvas element."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/activity_log/shot_record.ex:74
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Please select a valid user and ammo pack"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/activity_log/shot_record.ex:88
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo left can be at most %{count} rounds"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/activity_log/shot_record.ex:84
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo left must be at least 0"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/activity_log/shot_record.ex:119
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Count can be at most %{count} shots"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/activity_log/shot_record.ex:80
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "can't be blank"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery/ammo/pack.ex:100
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Please select a type and container"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_html.ex:11
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/error_json.ex:9
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Internal server error"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_auth.ex:195
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You must log in as an administrator to access this page."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_auth.ex:178
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You must log in to access this page."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
							
								
								
									
										294
									
								
								priv/gettext/it/LC_MESSAGES/prompts.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										294
									
								
								priv/gettext/it/LC_MESSAGES/prompts.po
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,294 @@
 | 
				
			|||||||
 | 
					msgid ""
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					"Project-Id-Version: PACKAGE VERSION\n"
 | 
				
			||||||
 | 
					"Report-Msgid-Bugs-To: \n"
 | 
				
			||||||
 | 
					"POT-Creation-Date: 2023-11-20 05:05+0000\n"
 | 
				
			||||||
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 | 
					"Last-Translator: Automatically generated\n"
 | 
				
			||||||
 | 
					"Language-Team: none\n"
 | 
				
			||||||
 | 
					"Language: it\n"
 | 
				
			||||||
 | 
					"MIME-Version: 1.0\n"
 | 
				
			||||||
 | 
					"Content-Type: text/plain; charset=UTF-8\n"
 | 
				
			||||||
 | 
					"Content-Transfer-Encoding: 8bit\n"
 | 
				
			||||||
 | 
					"X-Generator: Translate Toolkit 3.10.1\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## This file is a PO Template file.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## "msgid"s here are often extracted from source code.
 | 
				
			||||||
 | 
					## Add new translations manually only if they're dynamic
 | 
				
			||||||
 | 
					## translations that can't be statically extracted.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Run "mix gettext.extract" to bring this file up to
 | 
				
			||||||
 | 
					## date. Leave "msgstr"s empty as changing them here has no
 | 
				
			||||||
 | 
					## effect: edit them in PO (.po) files instead.
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/form_component.ex:89
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/form_component.ex:80
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/form_component.ex:78
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/form_component.ex:88
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} created successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.ex:65
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.ex:72
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/show.ex:26
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} deleted succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.ex:79
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.ex:60
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} has been deleted"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/form_component.ex:70
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/form_component.ex:62
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/form_component.ex:60
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/form_component.ex:69
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} updated successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:29
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "A link to confirm your email change has been sent to the new address."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:110
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:138
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete %{email}? This action is permanent!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:99
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/index.html.heex:157
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.html.heex:45
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/index.html.heex:63
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete %{name}?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:185
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.html.heex:69
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete this ammo?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:153
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete your account?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/core_components/topbar.html.heex:65
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to log out?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:77
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Email changed successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_controller.ex:23
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_controller.ex:24
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "If your email is in our system, you will receive instructions to reset your password shortly."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_session_controller.ex:23
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Logged out successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_reset_password_controller.ex:45
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Password reset successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:49
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Password updated successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_registration_controller.ex:65
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Please check your email to verify your account"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/add_shot_record_component.html.heex:58
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/form_component.html.heex:57
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/form_component.html.heex:37
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.html.heex:91
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/form_component.html.heex:46
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/tag_live/form_component.html.heex:39
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/form_component.html.heex:360
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Saving..."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:95
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Your account has been deleted"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:16
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name}?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.ex:51
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} added successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/show.ex:37
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{tag_name} has been removed from %{container_name}"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Adding..."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/add_shot_record_component.ex:60
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Shots recorded successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:34
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to unstage this ammo?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.ex:157
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.html.heex:151
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete this shot record?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.ex:79
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.ex:78
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Shot records deleted succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/form_component.ex:54
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Shot records updated successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_confirmation_controller.ex:37
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{email} confirmed successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/components/move_pack_component.ex:51
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo moved to %{name} successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:116
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Copied to clipboard"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/container_live/edit_tags_component.ex:78
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{name} removed successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:10
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.html.heex:20
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "You'll need to"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.html.heex:84
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Creating..."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:138
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to change your language?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/controllers/user_settings_controller.ex:65
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Language updated successfully."
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/index.ex:94
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/show.ex:54
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo deleted succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/range_live/index.ex:91
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo unstaged succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.ex:125
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo updated successfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/pack_live/form_component.ex:184
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Ammo added successfully"
 | 
				
			||||||
 | 
					msgid_plural "Ammo added successfully"
 | 
				
			||||||
 | 
					msgstr[0] ""
 | 
				
			||||||
 | 
					msgstr[1] ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/index.html.heex:118
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/type_live/show.html.heex:29
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/home_live.html.heex:63
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Register to setup Cannery"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:43
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{invite_name} deleted succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:104
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{invite_name} disabled succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:80
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{invite_name} enabled succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:58
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{invite_name} updated succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.ex:125
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "%{user_email} deleted succesfully"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:58
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to delete the invite for %{invite_name}?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: lib/cannery_web/live/invite_live/index.html.heex:85
 | 
				
			||||||
 | 
					#, elixir-autogen, elixir-format
 | 
				
			||||||
 | 
					msgid "Are you sure you want to make %{invite_name} unlimited?"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
							
								
								
									
										10
									
								
								priv/i18n/it.tbx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								priv/i18n/it.tbx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0"?>
 | 
				
			||||||
 | 
					<!DOCTYPE martif PUBLIC "ISO 12200:1999A//DTD MARTIF core (DXFcdV04)//EN" "TBXcdv04.dtd">
 | 
				
			||||||
 | 
					<martif type="TBX">
 | 
				
			||||||
 | 
					<martifHeader>
 | 
				
			||||||
 | 
					<fileDesc>
 | 
				
			||||||
 | 
					<sourceDesc><p>Translate Toolkit</p></sourceDesc>
 | 
				
			||||||
 | 
					</fileDesc>
 | 
				
			||||||
 | 
					</martifHeader>
 | 
				
			||||||
 | 
					<text><body></body></text>
 | 
				
			||||||
 | 
					</martif>
 | 
				
			||||||
@@ -48,9 +48,6 @@ defmodule Cannery.Fixtures do
 | 
				
			|||||||
  def extract_user_token(fun) do
 | 
					  def extract_user_token(fun) do
 | 
				
			||||||
    %{args: %{attrs: attrs, email: email_key, user_id: user_id}} = fun.(&"[TOKEN]#{&1}[TOKEN]")
 | 
					    %{args: %{attrs: attrs, email: email_key, user_id: user_id}} = fun.(&"[TOKEN]#{&1}[TOKEN]")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # convert atoms to string keys
 | 
					 | 
				
			||||||
    attrs = attrs |> Map.new(fn {atom_key, value} -> {atom_key |> Atom.to_string(), value} end)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    email =
 | 
					    email =
 | 
				
			||||||
      email_key
 | 
					      email_key
 | 
				
			||||||
      |> Atom.to_string()
 | 
					      |> Atom.to_string()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user