forked from shibao/cannery
rename to cannery
This commit is contained in:
parent
bc034c0361
commit
a778f5a61f
@ -1,6 +1,6 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: lokal
|
name: cannery
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: restore-cache
|
- name: restore-cache
|
||||||
@ -19,7 +19,7 @@ steps:
|
|||||||
- name: test
|
- name: test
|
||||||
image: elixir:1.14.1-alpine
|
image: elixir:1.14.1-alpine
|
||||||
environment:
|
environment:
|
||||||
TEST_DATABASE_URL: ecto://postgres:postgres@database/lokal_test
|
TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
|
||||||
HOST: testing.example.tld
|
HOST: testing.example.tld
|
||||||
MIX_HOME: /drone/src/.mix
|
MIX_HOME: /drone/src/.mix
|
||||||
MIX_ARCHIVES: /drone/src/.mix/archives
|
MIX_ARCHIVES: /drone/src/.mix/archives
|
||||||
@ -39,7 +39,7 @@ steps:
|
|||||||
image: thegeeklab/drone-docker-buildx
|
image: thegeeklab/drone-docker-buildx
|
||||||
privileged: true
|
privileged: true
|
||||||
settings:
|
settings:
|
||||||
repo: shibaobun/lokal
|
repo: shibaobun/cannery
|
||||||
purge: true
|
purge: true
|
||||||
compress: true
|
compress: true
|
||||||
platforms: linux/amd64,linux/arm/v7
|
platforms: linux/amd64,linux/arm/v7
|
||||||
@ -56,7 +56,7 @@ steps:
|
|||||||
image: thegeeklab/drone-docker-buildx
|
image: thegeeklab/drone-docker-buildx
|
||||||
privileged: true
|
privileged: true
|
||||||
settings:
|
settings:
|
||||||
repo: shibaobun/lokal
|
repo: shibaobun/cannery
|
||||||
purge: true
|
purge: true
|
||||||
compress: true
|
compress: true
|
||||||
platforms: linux/amd64,linux/arm/v7
|
platforms: linux/amd64,linux/arm/v7
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -20,7 +20,7 @@ erl_crash.dump
|
|||||||
*.ez
|
*.ez
|
||||||
|
|
||||||
# Ignore package tarball (built via "mix hex.build").
|
# Ignore package tarball (built via "mix hex.build").
|
||||||
lokal-*.tar
|
cannery-*.tar
|
||||||
|
|
||||||
# If NPM crashes, it generates a log, let's ignore it too.
|
# If NPM crashes, it generates a log, let's ignore it too.
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
@ -77,21 +77,21 @@ Check them out!
|
|||||||
For development, I recommend setting environment variables with
|
For development, I recommend setting environment variables with
|
||||||
[direnv](https://direnv.net).
|
[direnv](https://direnv.net).
|
||||||
|
|
||||||
By default, Lokal will always bind to all external IPv4 and IPv6 addresses in
|
By default, Cannery will always bind to all external IPv4 and IPv6 addresses in
|
||||||
`dev` and `prod` mode, respectively. If you would like to use different values,
|
`dev` and `prod` mode, respectively. If you would like to use different values,
|
||||||
they will need to be overridden in `config/dev.exs` and `config/runtime.exs` for
|
they will need to be overridden in `config/dev.exs` and `config/runtime.exs` for
|
||||||
`dev` and `prod` modes, respectively.
|
`dev` and `prod` modes, respectively.
|
||||||
|
|
||||||
## `MIX_ENV=dev`
|
## `MIX_ENV=dev`
|
||||||
|
|
||||||
In `dev` mode, Lokal will listen for these environment variables at runtime.
|
In `dev` mode, Cannery will listen for these environment variables at runtime.
|
||||||
|
|
||||||
- `HOST`: External url to generate links with. Set this especially if you're
|
- `HOST`: External url to generate links with. Set this especially if you're
|
||||||
behind a reverse proxy. Defaults to `localhost`. External URLs will always be
|
behind a reverse proxy. Defaults to `localhost`. External URLs will always be
|
||||||
generated with `https://` and port `443`.
|
generated with `https://` and port `443`.
|
||||||
- `PORT`: Internal port to bind to. Defaults to `4000`.
|
- `PORT`: Internal port to bind to. Defaults to `4000`.
|
||||||
- `DATABASE_URL`: Controls the database url to connect to. Defaults to
|
- `DATABASE_URL`: Controls the database url to connect to. Defaults to
|
||||||
`ecto://postgres:postgres@localhost/lokal_dev`.
|
`ecto://postgres:postgres@localhost/cannery_dev`.
|
||||||
- `ECTO_IPV6`: Controls if Ecto should use IPv6 to connect to PostgreSQL.
|
- `ECTO_IPV6`: Controls if Ecto should use IPv6 to connect to PostgreSQL.
|
||||||
Defaults to `false`.
|
Defaults to `false`.
|
||||||
- `POOL_SIZE`: Controls the pool size to use with PostgreSQL. Defaults to `10`.
|
- `POOL_SIZE`: Controls the pool size to use with PostgreSQL. Defaults to `10`.
|
||||||
@ -100,20 +100,20 @@ In `dev` mode, Lokal will listen for these environment variables at runtime.
|
|||||||
|
|
||||||
## `MIX_ENV=test`
|
## `MIX_ENV=test`
|
||||||
|
|
||||||
In `test` mode (or in the Docker container), Lokal will listen for the same environment variables as dev mode, but also include the following at runtime:
|
In `test` mode (or in the Docker container), Cannery will listen for the same environment variables as dev mode, but also include the following at runtime:
|
||||||
|
|
||||||
- `TEST_DATABASE_URL`: REPLACES `DATABASE_URL`. Controls the database url to
|
- `TEST_DATABASE_URL`: REPLACES `DATABASE_URL`. Controls the database url to
|
||||||
connect to. Defaults to `ecto://postgres:postgres@localhost/lokal_test`.
|
connect to. Defaults to `ecto://postgres:postgres@localhost/cannery_test`.
|
||||||
- `MIX_TEST_PARTITION`: Only used if `TEST_DATABASE_URL` is not specified.
|
- `MIX_TEST_PARTITION`: Only used if `TEST_DATABASE_URL` is not specified.
|
||||||
Appended to the default database url if you would like to partition your test
|
Appended to the default database url if you would like to partition your test
|
||||||
databases. Defaults to not set.
|
databases. Defaults to not set.
|
||||||
|
|
||||||
## `MIX_ENV=prod`
|
## `MIX_ENV=prod`
|
||||||
|
|
||||||
In `prod` mode (or in the Docker container), Lokal will listen for the same environment variables as dev mode, but also include the following at runtime:
|
In `prod` mode (or in the Docker container), Cannery will listen for the same environment variables as dev mode, but also include the following at runtime:
|
||||||
|
|
||||||
- `SECRET_KEY_BASE`: Secret key base used to sign cookies. Must be generated
|
- `SECRET_KEY_BASE`: Secret key base used to sign cookies. Must be generated
|
||||||
with `docker run -it shibaobun/lokal mix phx.gen.secret` and set for server to start.
|
with `docker run -it shibaobun/cannery mix phx.gen.secret` and set for server to start.
|
||||||
- `SMTP_HOST`: The url for your SMTP email provider. Must be set
|
- `SMTP_HOST`: The url for your SMTP email provider. Must be set
|
||||||
- `SMTP_PORT`: The port for your SMTP relay. Defaults to `587`.
|
- `SMTP_PORT`: The port for your SMTP relay. Defaults to `587`.
|
||||||
- `SMTP_USERNAME`: The username for your SMTP relay. Must be set!
|
- `SMTP_USERNAME`: The username for your SMTP relay. Must be set!
|
||||||
@ -121,4 +121,4 @@ In `prod` mode (or in the Docker container), Lokal will listen for the same envi
|
|||||||
- `SMTP_SSL`: Set to `true` to enable SSL for emails. Defaults to `false`.
|
- `SMTP_SSL`: Set to `true` to enable SSL for emails. Defaults to `false`.
|
||||||
- `EMAIL_FROM`: Sets the sender email in sent emails. Defaults to
|
- `EMAIL_FROM`: Sets the sender email in sent emails. Defaults to
|
||||||
`no-reply@HOST` where `HOST` was previously defined.
|
`no-reply@HOST` where `HOST` was previously defined.
|
||||||
- `EMAIL_NAME`: Sets the sender name in sent emails. Defaults to "Lokal".
|
- `EMAIL_NAME`: Sets the sender name in sent emails. Defaults to "Cannery".
|
@ -45,10 +45,10 @@ RUN chown nobody:nobody /app
|
|||||||
|
|
||||||
USER nobody:nobody
|
USER nobody:nobody
|
||||||
|
|
||||||
COPY --from=build --chown=nobody:nobody /app/_build/prod/rel/lokal ./
|
COPY --from=build --chown=nobody:nobody /app/_build/prod/rel/cannery ./
|
||||||
COPY --from=build --chown=nobody:nobody /app/priv /app/priv
|
COPY --from=build --chown=nobody:nobody /app/priv /app/priv
|
||||||
RUN chmod +x /app/priv/random.sh
|
RUN chmod +x /app/priv/random.sh
|
||||||
|
|
||||||
ENV HOME=/app
|
ENV HOME=/app
|
||||||
|
|
||||||
CMD ["bin/lokal", "start"]
|
CMD ["bin/cannery", "start"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Lokal
|
# Cannery
|
||||||
|
|
||||||
Lokal is a local business aggregation site helping you to shop locally by
|
Cannery is a local business aggregation site helping you to shop locally by
|
||||||
providing a one-stop-shop for your local community. Set your profile and start
|
providing a one-stop-shop for your local community. Set your profile and start
|
||||||
shopping today!
|
shopping today!
|
||||||
|
|
||||||
@ -15,10 +15,10 @@ shopping today!
|
|||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
1. Install [Docker Compose](https://docs.docker.com/compose/install/) or alternatively [Docker Desktop](https://docs.docker.com/desktop/) on your machine.
|
1. Install [Docker Compose](https://docs.docker.com/compose/install/) or alternatively [Docker Desktop](https://docs.docker.com/desktop/) on your machine.
|
||||||
1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/lokal/src/branch/stable/docker-compose.yml). into your local machine where you want.
|
1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/docker-compose.yml). into your local machine where you want.
|
||||||
Bind mounts are created in the same directory by default.
|
Bind mounts are created in the same directory by default.
|
||||||
1. Set the configuration variables in `docker-compose.yml`. You'll need to run
|
1. Set the configuration variables in `docker-compose.yml`. You'll need to run
|
||||||
`docker run -it shibaobun/lokal /app/priv/random.sh` to generate a new
|
`docker run -it shibaobun/cannery /app/priv/random.sh` to generate a new
|
||||||
secret key base.
|
secret key base.
|
||||||
1. Use `docker-compose up` or `docker-compose up -d` to start the container!
|
1. Use `docker-compose up` or `docker-compose up -d` to start the container!
|
||||||
|
|
||||||
@ -26,19 +26,19 @@ The first created user will be created as an admin.
|
|||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
|
|
||||||
You can use the following environment variables to configure Lokal in
|
You can use the following environment variables to configure Cannery in
|
||||||
[docker-compose.yml](https://gitea.bubbletea.dev/shibao/lokal/src/branch/stable/docker-compose.yml).
|
[docker-compose.yml](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/docker-compose.yml).
|
||||||
|
|
||||||
- `HOST`: External url to generate links with. Must be set with your hosted
|
- `HOST`: External url to generate links with. Must be set with your hosted
|
||||||
domain name! I.e. `lokal.mywebsite.tld`
|
domain name! I.e. `cannery.mywebsite.tld`
|
||||||
- `PORT`: Internal port to bind to. Defaults to `4000`. Must be reverse proxied!
|
- `PORT`: Internal port to bind to. Defaults to `4000`. Must be reverse proxied!
|
||||||
- `DATABASE_URL`: Controls the database url to connect to. Defaults to
|
- `DATABASE_URL`: Controls the database url to connect to. Defaults to
|
||||||
`ecto://postgres:postgres@lokal-db/lokal`.
|
`ecto://postgres:postgres@cannery-db/cannery`.
|
||||||
- `ECTO_IPV6`: If set to `true`, Ecto should use ipv6 to connect to PostgreSQL.
|
- `ECTO_IPV6`: If set to `true`, Ecto should use ipv6 to connect to PostgreSQL.
|
||||||
Defaults to `false`.
|
Defaults to `false`.
|
||||||
- `POOL_SIZE`: Controls the pool size to use with PostgreSQL. Defaults to `10`.
|
- `POOL_SIZE`: Controls the pool size to use with PostgreSQL. Defaults to `10`.
|
||||||
- `SECRET_KEY_BASE`: Secret key base used to sign cookies. Must be generated
|
- `SECRET_KEY_BASE`: Secret key base used to sign cookies. Must be generated
|
||||||
with `docker run -it shibaobun/lokal mix phx.gen.secret` and set for server to start.
|
with `docker run -it shibaobun/cannery mix phx.gen.secret` and set for server to start.
|
||||||
- `REGISTRATION`: Controls if user sign-up should be invite only or set to
|
- `REGISTRATION`: Controls if user sign-up should be invite only or set to
|
||||||
public. Set to `public` to enable public registration. Defaults to `invite`.
|
public. Set to `public` to enable public registration. Defaults to `invite`.
|
||||||
- `LOCALE`: Sets a custom default locale. Defaults to `en_US`.
|
- `LOCALE`: Sets a custom default locale. Defaults to `en_US`.
|
||||||
@ -49,9 +49,9 @@ You can use the following environment variables to configure Lokal in
|
|||||||
- `SMTP_SSL`: Set to `true` to enable SSL for emails. Defaults to `false`.
|
- `SMTP_SSL`: Set to `true` to enable SSL for emails. Defaults to `false`.
|
||||||
- `EMAIL_FROM`: Sets the sender email in sent emails. Defaults to
|
- `EMAIL_FROM`: Sets the sender email in sent emails. Defaults to
|
||||||
`no-reply@HOST` where `HOST` was previously defined.
|
`no-reply@HOST` where `HOST` was previously defined.
|
||||||
- `EMAIL_NAME`: Sets the sender name in sent emails. Defaults to "Lokal".
|
- `EMAIL_NAME`: Sets the sender name in sent emails. Defaults to "Cannery".
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[![Build
|
[![Build
|
||||||
Status](https://drone.bubbletea.dev/api/badges/shibao/lokal/status.svg?ref=refs/heads/dev)](https://drone.bubbletea.dev/shibao/lokal)
|
Status](https://drone.bubbletea.dev/api/badges/shibao/cannery/status.svg?ref=refs/heads/dev)](https://drone.bubbletea.dev/shibao/cannery)
|
@ -60,7 +60,7 @@ liveSocket.connect()
|
|||||||
window.liveSocket = liveSocket
|
window.liveSocket = liveSocket
|
||||||
|
|
||||||
// Copy to clipboard
|
// Copy to clipboard
|
||||||
window.addEventListener('lokal:clipcopy', (event) => {
|
window.addEventListener('cannery:clipcopy', (event) => {
|
||||||
if ('clipboard' in navigator) {
|
if ('clipboard' in navigator) {
|
||||||
const text = event.target.textContent
|
const text = event.target.textContent
|
||||||
navigator.clipboard.writeText(text)
|
navigator.clipboard.writeText(text)
|
||||||
|
@ -7,24 +7,24 @@
|
|||||||
# General application configuration
|
# General application configuration
|
||||||
import Config
|
import Config
|
||||||
|
|
||||||
config :lokal,
|
config :cannery,
|
||||||
ecto_repos: [Lokal.Repo],
|
ecto_repos: [Cannery.Repo],
|
||||||
generators: [binary_id: true]
|
generators: [binary_id: true]
|
||||||
|
|
||||||
config :lokal, Lokal.Accounts, registration: System.get_env("REGISTRATION", "invite")
|
config :cannery, Cannery.Accounts, registration: System.get_env("REGISTRATION", "invite")
|
||||||
|
|
||||||
# Configures the endpoint
|
# Configures the endpoint
|
||||||
config :lokal, LokalWeb.Endpoint,
|
config :cannery, CanneryWeb.Endpoint,
|
||||||
url: [scheme: "https", host: System.get_env("HOST") || "localhost", port: "443"],
|
url: [scheme: "https", host: System.get_env("HOST") || "localhost", port: "443"],
|
||||||
http: [port: String.to_integer(System.get_env("PORT") || "4000")],
|
http: [port: String.to_integer(System.get_env("PORT") || "4000")],
|
||||||
secret_key_base: "KH59P0iZixX5gP/u+zkxxG8vAAj6vgt0YqnwEB5JP5K+E567SsqkCz69uWShjE7I",
|
secret_key_base: "KH59P0iZixX5gP/u+zkxxG8vAAj6vgt0YqnwEB5JP5K+E567SsqkCz69uWShjE7I",
|
||||||
render_errors: [view: LokalWeb.ErrorView, accepts: ~w(html json), layout: false],
|
render_errors: [view: CanneryWeb.ErrorView, accepts: ~w(html json), layout: false],
|
||||||
pubsub_server: Lokal.PubSub,
|
pubsub_server: Cannery.PubSub,
|
||||||
live_view: [signing_salt: "zOLgd3lr"]
|
live_view: [signing_salt: "zOLgd3lr"]
|
||||||
|
|
||||||
config :lokal, Lokal.Application, automigrate: false
|
config :cannery, Cannery.Application, automigrate: false
|
||||||
|
|
||||||
config :lokal, :generators,
|
config :cannery, :generators,
|
||||||
migration: true,
|
migration: true,
|
||||||
binary_id: true,
|
binary_id: true,
|
||||||
sample_binary_id: "11111111-1111-1111-1111-111111111111"
|
sample_binary_id: "11111111-1111-1111-1111-111111111111"
|
||||||
@ -36,7 +36,7 @@ config :lokal, :generators,
|
|||||||
#
|
#
|
||||||
# For production it's recommended to configure a different adapter
|
# For production it's recommended to configure a different adapter
|
||||||
# at the `config/runtime.exs`.
|
# at the `config/runtime.exs`.
|
||||||
config :lokal, Lokal.Mailer, adapter: Swoosh.Adapters.Local
|
config :cannery, Cannery.Mailer, adapter: Swoosh.Adapters.Local
|
||||||
|
|
||||||
# Swoosh API client is needed for adapters other than SMTP.
|
# Swoosh API client is needed for adapters other than SMTP.
|
||||||
config :swoosh, :api_client, false
|
config :swoosh, :api_client, false
|
||||||
@ -45,8 +45,8 @@ config :swoosh, :api_client, false
|
|||||||
config :gettext, :default_locale, "en_US"
|
config :gettext, :default_locale, "en_US"
|
||||||
|
|
||||||
# Configure Oban
|
# Configure Oban
|
||||||
config :lokal, Oban,
|
config :cannery, Oban,
|
||||||
repo: Lokal.Repo,
|
repo: Cannery.Repo,
|
||||||
plugins: [Oban.Plugins.Pruner],
|
plugins: [Oban.Plugins.Pruner],
|
||||||
queues: [default: 10, mailers: 20]
|
queues: [default: 10, mailers: 20]
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import Config
|
import Config
|
||||||
|
|
||||||
# Configure your database
|
# Configure your database
|
||||||
config :lokal, Lokal.Repo,
|
config :cannery, Cannery.Repo,
|
||||||
show_sensitive_data_on_connection_error: true,
|
show_sensitive_data_on_connection_error: true,
|
||||||
pool_size: 10
|
pool_size: 10
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ config :lokal, Lokal.Repo,
|
|||||||
# The watchers configuration can be used to run external
|
# The watchers configuration can be used to run external
|
||||||
# watchers to your application. For example, we use it
|
# watchers to your application. For example, we use it
|
||||||
# with esbuild to bundle .js and .css sources.
|
# with esbuild to bundle .js and .css sources.
|
||||||
config :lokal, LokalWeb.Endpoint,
|
config :cannery, CanneryWeb.Endpoint,
|
||||||
check_origin: false,
|
check_origin: false,
|
||||||
code_reloader: true,
|
code_reloader: true,
|
||||||
debug_errors: true,
|
debug_errors: true,
|
||||||
@ -54,13 +54,13 @@ config :lokal, LokalWeb.Endpoint,
|
|||||||
# different ports.
|
# different ports.
|
||||||
|
|
||||||
# Watch static and templates for browser reloading.
|
# Watch static and templates for browser reloading.
|
||||||
config :lokal, LokalWeb.Endpoint,
|
config :cannery, CanneryWeb.Endpoint,
|
||||||
live_reload: [
|
live_reload: [
|
||||||
patterns: [
|
patterns: [
|
||||||
~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
|
~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
|
||||||
~r"priv/gettext/.*(po)$",
|
~r"priv/gettext/.*(po)$",
|
||||||
~r"lib/lokal_web/(live|views)/.*(ex)$",
|
~r"lib/cannery_web/(live|views)/.*(ex)$",
|
||||||
~r"lib/lokal_web/templates/.*(eex)$"
|
~r"lib/cannery_web/templates/.*(eex)$"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import Config
|
|||||||
# manifest is generated by the `mix phx.digest` task,
|
# manifest is generated by the `mix phx.digest` task,
|
||||||
# which you should run after static files are built and
|
# which you should run after static files are built and
|
||||||
# before starting your production server.
|
# before starting your production server.
|
||||||
config :lokal, LokalWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
config :cannery, CanneryWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
||||||
|
|
||||||
# Do not print debug messages in production
|
# Do not print debug messages in production
|
||||||
config :logger, level: :info
|
config :logger, level: :info
|
||||||
@ -19,7 +19,7 @@ config :logger, level: :info
|
|||||||
# To get SSL working, you will need to add the `https` key
|
# To get SSL working, you will need to add the `https` key
|
||||||
# to the previous section and set your `:url` port to 443:
|
# to the previous section and set your `:url` port to 443:
|
||||||
#
|
#
|
||||||
# config :lokal, LokalWeb.Endpoint,
|
# config :cannery, CanneryWeb.Endpoint,
|
||||||
# ...,
|
# ...,
|
||||||
# url: [host: "example.com", port: 443],
|
# url: [host: "example.com", port: 443],
|
||||||
# https: [
|
# https: [
|
||||||
@ -43,7 +43,7 @@ config :logger, level: :info
|
|||||||
# We also recommend setting `force_ssl` in your endpoint, ensuring
|
# We also recommend setting `force_ssl` in your endpoint, ensuring
|
||||||
# no data is ever sent via http, always redirecting to https:
|
# no data is ever sent via http, always redirecting to https:
|
||||||
#
|
#
|
||||||
# config :lokal, LokalWeb.Endpoint,
|
# config :cannery, CanneryWeb.Endpoint,
|
||||||
# force_ssl: [hsts: true]
|
# force_ssl: [hsts: true]
|
||||||
#
|
#
|
||||||
# Check `Plug.SSL` for all available options in `force_ssl`.
|
# Check `Plug.SSL` for all available options in `force_ssl`.
|
||||||
|
@ -9,7 +9,7 @@ import Config
|
|||||||
|
|
||||||
# Start the phoenix server if environment is set and running in a release
|
# Start the phoenix server if environment is set and running in a release
|
||||||
if System.get_env("PHX_SERVER") && System.get_env("RELEASE_NAME") do
|
if System.get_env("PHX_SERVER") && System.get_env("RELEASE_NAME") do
|
||||||
config :lokal, LokalWeb.Endpoint, server: true
|
config :cannery, CanneryWeb.Endpoint, server: true
|
||||||
end
|
end
|
||||||
|
|
||||||
# Set default locale
|
# Set default locale
|
||||||
@ -21,28 +21,28 @@ database_url =
|
|||||||
if config_env() == :test do
|
if config_env() == :test do
|
||||||
System.get_env(
|
System.get_env(
|
||||||
"TEST_DATABASE_URL",
|
"TEST_DATABASE_URL",
|
||||||
"ecto://postgres:postgres@localhost/lokal_test#{System.get_env("MIX_TEST_PARTITION")}"
|
"ecto://postgres:postgres@localhost/cannery_test#{System.get_env("MIX_TEST_PARTITION")}"
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
System.get_env("DATABASE_URL", "ecto://postgres:postgres@lokal-db/lokal")
|
System.get_env("DATABASE_URL", "ecto://postgres:postgres@cannery-db/cannery")
|
||||||
end
|
end
|
||||||
|
|
||||||
host =
|
host =
|
||||||
System.get_env("HOST") ||
|
System.get_env("HOST") ||
|
||||||
raise "No hostname set! Must be the domain and tld like `lokal.bubbletea.dev`."
|
raise "No hostname set! Must be the domain and tld like `cannery.bubbletea.dev`."
|
||||||
|
|
||||||
interface =
|
interface =
|
||||||
if config_env() in [:dev, :test],
|
if config_env() in [:dev, :test],
|
||||||
do: {0, 0, 0, 0},
|
do: {0, 0, 0, 0},
|
||||||
else: {0, 0, 0, 0, 0, 0, 0, 0}
|
else: {0, 0, 0, 0, 0, 0, 0, 0}
|
||||||
|
|
||||||
config :lokal, Lokal.Repo,
|
config :cannery, Cannery.Repo,
|
||||||
# ssl: true,
|
# ssl: true,
|
||||||
url: database_url,
|
url: database_url,
|
||||||
pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")),
|
pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")),
|
||||||
socket_options: maybe_ipv6
|
socket_options: maybe_ipv6
|
||||||
|
|
||||||
config :lokal, LokalWeb.Endpoint,
|
config :cannery, CanneryWeb.Endpoint,
|
||||||
url: [scheme: "https", host: host, port: 443],
|
url: [scheme: "https", host: host, port: 443],
|
||||||
http: [
|
http: [
|
||||||
# See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html
|
# See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html
|
||||||
@ -53,7 +53,7 @@ config :lokal, LokalWeb.Endpoint,
|
|||||||
server: true
|
server: true
|
||||||
|
|
||||||
if config_env() in [:dev, :prod] do
|
if config_env() in [:dev, :prod] do
|
||||||
config :lokal, Lokal.Accounts, registration: System.get_env("REGISTRATION", "invite")
|
config :cannery, Cannery.Accounts, registration: System.get_env("REGISTRATION", "invite")
|
||||||
end
|
end
|
||||||
|
|
||||||
if config_env() == :prod do
|
if config_env() == :prod do
|
||||||
@ -69,13 +69,13 @@ if config_env() == :prod do
|
|||||||
You can generate one by calling: mix phx.gen.secret
|
You can generate one by calling: mix phx.gen.secret
|
||||||
"""
|
"""
|
||||||
|
|
||||||
config :lokal, LokalWeb.Endpoint, secret_key_base: secret_key_base
|
config :cannery, CanneryWeb.Endpoint, secret_key_base: secret_key_base
|
||||||
|
|
||||||
# Automatically apply migrations
|
# Automatically apply migrations
|
||||||
config :lokal, Lokal.Application, automigrate: true
|
config :cannery, Cannery.Application, automigrate: true
|
||||||
|
|
||||||
# Set up SMTP settings
|
# Set up SMTP settings
|
||||||
config :lokal, Lokal.Mailer,
|
config :cannery, Cannery.Mailer,
|
||||||
adapter: Swoosh.Adapters.SMTP,
|
adapter: Swoosh.Adapters.SMTP,
|
||||||
relay: System.get_env("SMTP_HOST") || raise("No SMTP_HOST set!"),
|
relay: System.get_env("SMTP_HOST") || raise("No SMTP_HOST set!"),
|
||||||
port: System.get_env("SMTP_PORT", "587"),
|
port: System.get_env("SMTP_PORT", "587"),
|
||||||
@ -83,14 +83,14 @@ if config_env() == :prod do
|
|||||||
password: System.get_env("SMTP_PASSWORD") || raise("No SMTP_PASSWORD set!"),
|
password: System.get_env("SMTP_PASSWORD") || raise("No SMTP_PASSWORD set!"),
|
||||||
ssl: System.get_env("SMTP_SSL") == "true",
|
ssl: System.get_env("SMTP_SSL") == "true",
|
||||||
email_from: System.get_env("EMAIL_FROM", "no-reply@#{System.get_env("HOST")}"),
|
email_from: System.get_env("EMAIL_FROM", "no-reply@#{System.get_env("HOST")}"),
|
||||||
email_name: System.get_env("EMAIL_NAME", "Lokal")
|
email_name: System.get_env("EMAIL_NAME", "Cannery")
|
||||||
|
|
||||||
# ## Using releases
|
# ## Using releases
|
||||||
#
|
#
|
||||||
# If you are doing OTP releases, you need to instruct Phoenix
|
# If you are doing OTP releases, you need to instruct Phoenix
|
||||||
# to start each relevant endpoint:
|
# to start each relevant endpoint:
|
||||||
#
|
#
|
||||||
# config :lokal, LokalWeb.Endpoint, server: true
|
# config :cannery, CanneryWeb.Endpoint, server: true
|
||||||
#
|
#
|
||||||
# Then you can assemble a release by calling `mix release`.
|
# Then you can assemble a release by calling `mix release`.
|
||||||
# See `mix help release` for more information.
|
# See `mix help release` for more information.
|
||||||
|
@ -8,22 +8,22 @@ config :bcrypt_elixir, :log_rounds, 1
|
|||||||
# The MIX_TEST_PARTITION environment variable can be used
|
# The MIX_TEST_PARTITION environment variable can be used
|
||||||
# to provide built-in test partitioning in CI environment.
|
# to provide built-in test partitioning in CI environment.
|
||||||
# Run `mix help test` for more information.
|
# Run `mix help test` for more information.
|
||||||
config :lokal, Lokal.Repo,
|
config :cannery, Cannery.Repo,
|
||||||
pool: Ecto.Adapters.SQL.Sandbox,
|
pool: Ecto.Adapters.SQL.Sandbox,
|
||||||
pool_size: 10
|
pool_size: 10
|
||||||
|
|
||||||
# We don't run a server during test. If one is required,
|
# We don't run a server during test. If one is required,
|
||||||
# you can enable the server option below.
|
# you can enable the server option below.
|
||||||
config :lokal, LokalWeb.Endpoint,
|
config :cannery, CanneryWeb.Endpoint,
|
||||||
http: [ip: {0, 0, 0, 0}, port: 4002],
|
http: [ip: {0, 0, 0, 0}, port: 4002],
|
||||||
secret_key_base: "S3qq9QtUdsFtlYej+HTjAVN95uP5i5tf2sPYINWSQfCKJghFj2B1+wTAoljZyHOK",
|
secret_key_base: "S3qq9QtUdsFtlYej+HTjAVN95uP5i5tf2sPYINWSQfCKJghFj2B1+wTAoljZyHOK",
|
||||||
server: false
|
server: false
|
||||||
|
|
||||||
# In test we don't send emails.
|
# In test we don't send emails.
|
||||||
config :lokal, Lokal.Mailer, adapter: Swoosh.Adapters.Test
|
config :cannery, Cannery.Mailer, adapter: Swoosh.Adapters.Test
|
||||||
|
|
||||||
# Don't require invites for signups
|
# Don't require invites for signups
|
||||||
config :lokal, Lokal.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: :warn
|
||||||
@ -32,4 +32,4 @@ config :logger, level: :warn
|
|||||||
config :phoenix, :plug_init_mode, :runtime
|
config :phoenix, :plug_init_mode, :runtime
|
||||||
|
|
||||||
# Disable Oban
|
# Disable Oban
|
||||||
config :lokal, Oban, queues: false, plugins: false
|
config :cannery, Oban, queues: false, plugins: false
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
lokal:
|
cannery:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
container_name: lokal
|
container_name: cannery
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# HOST must be set!
|
# HOST must be set!
|
||||||
# - HOST=your.domain.com
|
# - HOST=your.domain.com
|
||||||
- DATABASE_URL=ecto://postgres:postgres@lokal-db/lokal
|
- DATABASE_URL=ecto://postgres:postgres@cannery-db/cannery
|
||||||
# Use `docker run -it shibaobun/lokal /app/priv/random.sh` to generate a secret key base
|
# Use `docker run -it shibaobun/cannery /app/priv/random.sh` to generate a secret key base
|
||||||
# - SECRET_KEY_BASE=change-me-this-is-really-important-seriously-change-it
|
# - SECRET_KEY_BASE=change-me-this-is-really-important-seriously-change-it
|
||||||
# uncomment to enable public sign ups, not recommended
|
# uncomment to enable public sign ups, not recommended
|
||||||
# - REGISTRATION=public
|
# - REGISTRATION=public
|
||||||
@ -24,21 +24,21 @@ services:
|
|||||||
# optional, default is false
|
# optional, default is false
|
||||||
# - SMTP_SSL=false
|
# - SMTP_SSL=false
|
||||||
# optional, default is format below
|
# optional, default is format below
|
||||||
# - EMAIL_FROM=no-reply@lokal.example.tld
|
# - EMAIL_FROM=no-reply@cannery.example.tld
|
||||||
# optional, default is "Lokal"
|
# optional, default is "Cannery"
|
||||||
# - EMAIL_NAME=Lokal
|
# - EMAIL_NAME=Cannery
|
||||||
expose:
|
expose:
|
||||||
- "4000"
|
- "4000"
|
||||||
depends_on:
|
depends_on:
|
||||||
- lokal-db
|
- cannery-db
|
||||||
|
|
||||||
lokal-db:
|
cannery-db:
|
||||||
image: postgres:13
|
image: postgres:13
|
||||||
container_name: lokal-db
|
container_name: cannery-db
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER="postgres"
|
- POSTGRES_USER="postgres"
|
||||||
- POSTGRES_PASSWORD="postgres"
|
- POSTGRES_PASSWORD="postgres"
|
||||||
- POSTGRES_DB="lokal"
|
- POSTGRES_DB="cannery"
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/var/lib/postgresql/data
|
- ./data:/var/lib/postgresql/data
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
defmodule Lokal do
|
defmodule Cannery do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Lokal keeps the contexts that define your domain
|
Cannery keeps the contexts that define your domain
|
||||||
and business logic.
|
and business logic.
|
||||||
|
|
||||||
Contexts are also responsible for managing your data, regardless
|
Contexts are also responsible for managing your data, regardless
|
@ -1,11 +1,11 @@
|
|||||||
defmodule Lokal.Accounts do
|
defmodule Cannery.Accounts do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
The Accounts context.
|
The Accounts context.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import Ecto.Query, warn: false
|
import Ecto.Query, warn: false
|
||||||
alias Lokal.{Mailer, Repo}
|
alias Cannery.{Mailer, Repo}
|
||||||
alias Lokal.Accounts.{Invite, Invites, User, UserToken}
|
alias Cannery.Accounts.{Invite, Invites, User, UserToken}
|
||||||
alias Ecto.{Changeset, Multi}
|
alias Ecto.{Changeset, Multi}
|
||||||
alias Oban.Job
|
alias Oban.Job
|
||||||
|
|
||||||
@ -385,7 +385,7 @@ defmodule Lokal.Accounts do
|
|||||||
"""
|
"""
|
||||||
@spec allow_registration?() :: boolean()
|
@spec allow_registration?() :: boolean()
|
||||||
def allow_registration? do
|
def allow_registration? do
|
||||||
Application.get_env(:lokal, Lokal.Accounts)[:registration] == "public" or
|
Application.get_env(:cannery, Cannery.Accounts)[:registration] == "public" or
|
||||||
list_users_by_role(:admin) |> Enum.empty?()
|
list_users_by_role(:admin) |> Enum.empty?()
|
||||||
end
|
end
|
||||||
|
|
@ -1,16 +1,16 @@
|
|||||||
defmodule Lokal.Email do
|
defmodule Cannery.Email do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Emails that can be sent using Swoosh.
|
Emails that can be sent using Swoosh.
|
||||||
|
|
||||||
You can find the base email templates at
|
You can find the base email templates at
|
||||||
`lib/Lokal_web/templates/layout/email.html.heex` for html emails and
|
`lib/Cannery_web/templates/layout/email.html.heex` for html emails and
|
||||||
`lib/Lokal_web/templates/layout/email.txt.heex` for text emails.
|
`lib/Cannery_web/templates/layout/email.txt.heex` for text emails.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Phoenix.Swoosh, view: LokalWeb.EmailView, layout: {LokalWeb.LayoutView, :email}
|
use Phoenix.Swoosh, view: CanneryWeb.EmailView, layout: {CanneryWeb.LayoutView, :email}
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Lokal.Accounts.User
|
alias Cannery.Accounts.User
|
||||||
alias LokalWeb.EmailView
|
alias CanneryWeb.EmailView
|
||||||
|
|
||||||
@typedoc """
|
@typedoc """
|
||||||
Represents an HTML and text body email that can be sent
|
Represents an HTML and text body email that can be sent
|
||||||
@ -19,29 +19,29 @@ defmodule Lokal.Email do
|
|||||||
|
|
||||||
@spec base_email(User.t(), String.t()) :: t()
|
@spec base_email(User.t(), String.t()) :: t()
|
||||||
defp base_email(%User{email: email}, subject) do
|
defp base_email(%User{email: email}, subject) do
|
||||||
from = Application.get_env(:Lokal, Lokal.Mailer)[:email_from] || "noreply@localhost"
|
from = Application.get_env(:Cannery, Cannery.Mailer)[:email_from] || "noreply@localhost"
|
||||||
name = Application.get_env(:Lokal, Lokal.Mailer)[:email_name]
|
name = Application.get_env(:Cannery, Cannery.Mailer)[:email_name]
|
||||||
new() |> to(email) |> from({name, from}) |> subject(subject)
|
new() |> to(email) |> from({name, from}) |> subject(subject)
|
||||||
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 Lokal account"))
|
|> base_email(dgettext("emails", "Confirm your Cannery account"))
|
||||||
|> render_body("confirm_email.html", %{user: user, url: url})
|
|> render_body("confirm_email.html", %{user: user, url: url})
|
||||||
|> text_body(EmailView.render("confirm_email.txt", %{user: user, url: url}))
|
|> text_body(EmailView.render("confirm_email.txt", %{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 Lokal password"))
|
|> base_email(dgettext("emails", "Reset your Cannery password"))
|
||||||
|> render_body("reset_password.html", %{user: user, url: url})
|
|> render_body("reset_password.html", %{user: user, url: url})
|
||||||
|> text_body(EmailView.render("reset_password.txt", %{user: user, url: url}))
|
|> text_body(EmailView.render("reset_password.txt", %{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 Lokal email"))
|
|> base_email(dgettext("emails", "Update your Cannery email"))
|
||||||
|> render_body("update_email.html", %{user: user, url: url})
|
|> render_body("update_email.html", %{user: user, url: url})
|
||||||
|> text_body(EmailView.render("update_email.txt", %{user: user, url: url}))
|
|> text_body(EmailView.render("update_email.txt", %{user: user, url: url}))
|
||||||
end
|
end
|
@ -1,10 +1,10 @@
|
|||||||
defmodule Lokal.EmailWorker do
|
defmodule Cannery.EmailWorker do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Oban worker that dispatches emails
|
Oban worker that dispatches emails
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Oban.Worker, queue: :mailers, tags: ["email"]
|
use Oban.Worker, queue: :mailers, tags: ["email"]
|
||||||
alias Lokal.{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
|
@ -1,4 +1,4 @@
|
|||||||
defmodule Lokal.Accounts.Invite do
|
defmodule Cannery.Accounts.Invite do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
An invite, created by an admin to allow someone to join their instance. An
|
An invite, created by an admin to allow someone to join their instance. An
|
||||||
invite can be enabled or disabled, and can have an optional number of uses if
|
invite can be enabled or disabled, and can have an optional number of uses if
|
||||||
@ -7,8 +7,8 @@ defmodule Lokal.Accounts.Invite do
|
|||||||
|
|
||||||
use Ecto.Schema
|
use Ecto.Schema
|
||||||
import Ecto.Changeset
|
import Ecto.Changeset
|
||||||
|
alias Cannery.Accounts.User
|
||||||
alias Ecto.{Association, Changeset, UUID}
|
alias Ecto.{Association, Changeset, UUID}
|
||||||
alias Lokal.Accounts.User
|
|
||||||
|
|
||||||
@primary_key {:id, :binary_id, autogenerate: true}
|
@primary_key {:id, :binary_id, autogenerate: true}
|
||||||
@foreign_key_type :binary_id
|
@foreign_key_type :binary_id
|
@ -1,12 +1,12 @@
|
|||||||
defmodule Lokal.Accounts.Invites do
|
defmodule Cannery.Accounts.Invites do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
The Invites context.
|
The Invites context.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import Ecto.Query, warn: false
|
import Ecto.Query, warn: false
|
||||||
alias Ecto.Multi
|
alias Ecto.Multi
|
||||||
alias Lokal.Accounts.{Invite, User}
|
alias Cannery.Accounts.{Invite, User}
|
||||||
alias Lokal.Repo
|
alias Cannery.Repo
|
||||||
|
|
||||||
@invite_token_length 20
|
@invite_token_length 20
|
||||||
|
|
@ -1,13 +1,13 @@
|
|||||||
defmodule Lokal.Accounts.User do
|
defmodule Cannery.Accounts.User do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
A Lokal user
|
A Cannery user
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Ecto.Schema
|
use Ecto.Schema
|
||||||
import Ecto.Changeset
|
import Ecto.Changeset
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Ecto.{Association, Changeset, UUID}
|
alias Ecto.{Association, Changeset, UUID}
|
||||||
alias Lokal.Accounts.{Invite, User}
|
alias Cannery.Accounts.{Invite, User}
|
||||||
|
|
||||||
@derive {Jason.Encoder,
|
@derive {Jason.Encoder,
|
||||||
only: [
|
only: [
|
||||||
@ -99,7 +99,7 @@ defmodule Lokal.Accounts.User do
|
|||||||
message: dgettext("errors", "must have the @ sign and no spaces")
|
message: dgettext("errors", "must have the @ sign and no spaces")
|
||||||
)
|
)
|
||||||
|> validate_length(:email, max: 160)
|
|> validate_length(:email, max: 160)
|
||||||
|> unsafe_validate_unique(:email, Lokal.Repo)
|
|> unsafe_validate_unique(:email, Cannery.Repo)
|
||||||
|> unique_constraint(:email)
|
|> unique_constraint(:email)
|
||||||
end
|
end
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
defmodule Lokal.Accounts.UserNotifier do
|
defmodule Cannery.Accounts.UserNotifier do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Contains templates and messages for user messages
|
Contains templates and messages for user messages
|
||||||
"""
|
"""
|
@ -1,12 +1,12 @@
|
|||||||
defmodule Lokal.Accounts.UserToken do
|
defmodule Cannery.Accounts.UserToken do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Schema for a user's session token
|
Schema for a user's session token
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Ecto.Schema
|
use Ecto.Schema
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
|
alias Cannery.Accounts.User
|
||||||
alias Ecto.{Association, UUID}
|
alias Ecto.{Association, UUID}
|
||||||
alias Lokal.Accounts.User
|
|
||||||
|
|
||||||
@hash_algorithm :sha256
|
@hash_algorithm :sha256
|
||||||
@rand_size 32
|
@rand_size 32
|
@ -1,27 +1,27 @@
|
|||||||
defmodule Lokal.Application do
|
defmodule Cannery.Application do
|
||||||
# See https://hexdocs.pm/elixir/Application.html
|
# See https://hexdocs.pm/elixir/Application.html
|
||||||
# for more information on OTP Applications
|
# for more information on OTP Applications
|
||||||
@moduledoc false
|
@moduledoc false
|
||||||
|
|
||||||
use Application
|
use Application
|
||||||
alias Lokal.Logger
|
alias Cannery.Logger
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def start(_type, _args) do
|
def start(_type, _args) do
|
||||||
children = [
|
children = [
|
||||||
# Start the Ecto repository
|
# Start the Ecto repository
|
||||||
Lokal.Repo,
|
Cannery.Repo,
|
||||||
# Start the Telemetry supervisor
|
# Start the Telemetry supervisor
|
||||||
LokalWeb.Telemetry,
|
CanneryWeb.Telemetry,
|
||||||
# Start the PubSub system
|
# Start the PubSub system
|
||||||
{Phoenix.PubSub, name: Lokal.PubSub},
|
{Phoenix.PubSub, name: Cannery.PubSub},
|
||||||
# Start the Endpoint (http/https)
|
# Start the Endpoint (http/https)
|
||||||
LokalWeb.Endpoint,
|
CanneryWeb.Endpoint,
|
||||||
# Add Oban
|
# Add Oban
|
||||||
{Oban, oban_config()},
|
{Oban, oban_config()},
|
||||||
Lokal.Repo.Migrator
|
Cannery.Repo.Migrator
|
||||||
# Start a worker by calling: Lokal.Worker.start_link(arg)
|
# Start a worker by calling: Cannery.Worker.start_link(arg)
|
||||||
# {Lokal.Worker, arg}
|
# {Cannery.Worker, arg}
|
||||||
]
|
]
|
||||||
|
|
||||||
# Oban events logging https://hexdocs.pm/oban/Oban.html#module-reporting-errors
|
# Oban events logging https://hexdocs.pm/oban/Oban.html#module-reporting-errors
|
||||||
@ -39,7 +39,7 @@ defmodule Lokal.Application do
|
|||||||
|
|
||||||
# See https://hexdocs.pm/elixir/Supervisor.html
|
# See https://hexdocs.pm/elixir/Supervisor.html
|
||||||
# for other strategies and supported options
|
# for other strategies and supported options
|
||||||
opts = [strategy: :one_for_one, name: Lokal.Supervisor]
|
opts = [strategy: :one_for_one, name: Cannery.Supervisor]
|
||||||
Supervisor.start_link(children, opts)
|
Supervisor.start_link(children, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -47,11 +47,11 @@ defmodule Lokal.Application do
|
|||||||
# whenever the application is updated.
|
# whenever the application is updated.
|
||||||
@impl true
|
@impl true
|
||||||
def config_change(changed, _new, removed) do
|
def config_change(changed, _new, removed) do
|
||||||
LokalWeb.Endpoint.config_change(changed, removed)
|
CanneryWeb.Endpoint.config_change(changed, removed)
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
defp oban_config do
|
defp oban_config do
|
||||||
Application.fetch_env!(:lokal, Oban)
|
Application.fetch_env!(:cannery, Oban)
|
||||||
end
|
end
|
||||||
end
|
end
|
@ -1,4 +1,4 @@
|
|||||||
defmodule Lokal.Logger do
|
defmodule Cannery.Logger do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Custom logger for telemetry events
|
Custom logger for telemetry events
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
defmodule Lokal.Mailer do
|
defmodule Cannery.Mailer do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Mailer adapter for emails
|
Mailer adapter for emails
|
||||||
|
|
||||||
@ -6,8 +6,8 @@ defmodule Lokal.Mailer do
|
|||||||
json with Jason, which restricts the use of structs.
|
json with Jason, which restricts the use of structs.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use Swoosh.Mailer, otp_app: :lokal
|
use Swoosh.Mailer, otp_app: :cannery
|
||||||
alias Lokal.{Accounts.User, EmailWorker}
|
alias Cannery.{Accounts.User, EmailWorker}
|
||||||
alias Oban.Job
|
alias Oban.Job
|
||||||
|
|
||||||
@doc """
|
@doc """
|
@ -1,9 +1,9 @@
|
|||||||
defmodule Lokal.Release do
|
defmodule Cannery.Release do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Contains mix tasks that can used in generated releases
|
Contains mix tasks that can used in generated releases
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@app :lokal
|
@app :cannery
|
||||||
|
|
||||||
def rollback(repo, version) do
|
def rollback(repo, version) do
|
||||||
load_app()
|
load_app()
|
@ -1,5 +1,5 @@
|
|||||||
defmodule Lokal.Repo do
|
defmodule Cannery.Repo do
|
||||||
use Ecto.Repo,
|
use Ecto.Repo,
|
||||||
otp_app: :lokal,
|
otp_app: :cannery,
|
||||||
adapter: Ecto.Adapters.Postgres
|
adapter: Ecto.Adapters.Postgres
|
||||||
end
|
end
|
@ -1,4 +1,4 @@
|
|||||||
defmodule Lokal.Repo.Migrator do
|
defmodule Cannery.Repo.Migrator do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Genserver to automatically perform all migration on app start
|
Genserver to automatically perform all migration on app start
|
||||||
"""
|
"""
|
||||||
@ -15,11 +15,11 @@ defmodule Lokal.Repo.Migrator do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def migrate! do
|
def migrate! do
|
||||||
path = Application.app_dir(:lokal, "priv/repo/migrations")
|
path = Application.app_dir(:cannery, "priv/repo/migrations")
|
||||||
Ecto.Migrator.run(Lokal.Repo, path, :up, all: true)
|
Ecto.Migrator.run(Cannery.Repo, path, :up, all: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp automigrate_enabled? do
|
defp automigrate_enabled? do
|
||||||
Application.get_env(:lokal, Lokal.Application, automigrate: false)[:automigrate]
|
Application.get_env(:cannery, Cannery.Application, automigrate: false)[:automigrate]
|
||||||
end
|
end
|
||||||
end
|
end
|
@ -1,12 +1,12 @@
|
|||||||
defmodule LokalWeb do
|
defmodule CanneryWeb do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
The entrypoint for defining your web interface, such
|
The entrypoint for defining your web interface, such
|
||||||
as controllers, views, channels and so on.
|
as controllers, views, channels and so on.
|
||||||
|
|
||||||
This can be used in your application as:
|
This can be used in your application as:
|
||||||
|
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
use LokalWeb, :view
|
use CanneryWeb, :view
|
||||||
|
|
||||||
The definitions below will be executed for every view,
|
The definitions below will be executed for every view,
|
||||||
controller, etc, so keep them short and clean, focused
|
controller, etc, so keep them short and clean, focused
|
||||||
@ -19,19 +19,19 @@ defmodule LokalWeb do
|
|||||||
|
|
||||||
def controller do
|
def controller do
|
||||||
quote do
|
quote do
|
||||||
use Phoenix.Controller, namespace: LokalWeb
|
use Phoenix.Controller, namespace: CanneryWeb
|
||||||
|
|
||||||
import Plug.Conn
|
import Plug.Conn
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias LokalWeb.Router.Helpers, as: Routes
|
alias CanneryWeb.Router.Helpers, as: Routes
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def view do
|
def view do
|
||||||
quote do
|
quote do
|
||||||
use Phoenix.View,
|
use Phoenix.View,
|
||||||
root: "lib/lokal_web/templates",
|
root: "lib/cannery_web/templates",
|
||||||
namespace: LokalWeb
|
namespace: CanneryWeb
|
||||||
|
|
||||||
# Import convenience functions from controllers
|
# Import convenience functions from controllers
|
||||||
import Phoenix.Controller,
|
import Phoenix.Controller,
|
||||||
@ -45,9 +45,9 @@ defmodule LokalWeb do
|
|||||||
def live_view do
|
def live_view do
|
||||||
quote do
|
quote do
|
||||||
use Phoenix.LiveView,
|
use Phoenix.LiveView,
|
||||||
layout: {LokalWeb.LayoutView, "live.html"}
|
layout: {CanneryWeb.LayoutView, "live.html"}
|
||||||
|
|
||||||
on_mount LokalWeb.InitAssigns
|
on_mount CanneryWeb.InitAssigns
|
||||||
unquote(view_helpers())
|
unquote(view_helpers())
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -82,7 +82,7 @@ defmodule LokalWeb do
|
|||||||
quote do
|
quote do
|
||||||
use Phoenix.Channel
|
use Phoenix.Channel
|
||||||
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -95,9 +95,9 @@ defmodule LokalWeb do
|
|||||||
# Import LiveView and .heex helpers (live_render, link, <.form>, etc)
|
# Import LiveView and .heex helpers (live_render, link, <.form>, etc)
|
||||||
# Import basic rendering functionality (render, render_layout, etc)
|
# Import basic rendering functionality (render, render_layout, etc)
|
||||||
import Phoenix.{Component, View}
|
import Phoenix.{Component, View}
|
||||||
import LokalWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
|
import CanneryWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
|
||||||
|
|
||||||
alias LokalWeb.Router.Helpers, as: Routes
|
alias CanneryWeb.Router.Helpers, as: Routes
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -1,11 +1,11 @@
|
|||||||
defmodule LokalWeb.Components.InviteCard do
|
defmodule CanneryWeb.Components.InviteCard do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Display card for an invite
|
Display card for an invite
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :component
|
use CanneryWeb, :component
|
||||||
alias Lokal.Accounts.{Invite, Invites, User}
|
alias Cannery.Accounts.{Invite, Invites, User}
|
||||||
alias LokalWeb.Endpoint
|
alias CanneryWeb.Endpoint
|
||||||
|
|
||||||
attr :invite, Invite, required: true
|
attr :invite, Invite, required: true
|
||||||
attr :current_user, User, required: true
|
attr :current_user, User, required: true
|
@ -1,4 +1,4 @@
|
|||||||
defmodule LokalWeb.Components.TableComponent do
|
defmodule CanneryWeb.Components.TableComponent do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Livecomponent that presents a resortable table
|
Livecomponent that presents a resortable table
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ defmodule LokalWeb.Components.TableComponent do
|
|||||||
content.
|
content.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :live_component
|
use CanneryWeb, :live_component
|
||||||
alias Phoenix.LiveView.Socket
|
alias Phoenix.LiveView.Socket
|
||||||
|
|
||||||
@impl true
|
@impl true
|
@ -1,12 +1,12 @@
|
|||||||
defmodule LokalWeb.Components.Topbar do
|
defmodule CanneryWeb.Components.Topbar do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Component that renders a topbar with user functions/links
|
Component that renders a topbar with user functions/links
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :component
|
use CanneryWeb, :component
|
||||||
|
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
|
|
||||||
def topbar(assigns) do
|
def topbar(assigns) do
|
||||||
assigns =
|
assigns =
|
||||||
@ -20,7 +20,7 @@ defmodule LokalWeb.Components.Topbar do
|
|||||||
navigate={Routes.live_path(Endpoint, HomeLive)}
|
navigate={Routes.live_path(Endpoint, HomeLive)}
|
||||||
class="mx-2 my-1 leading-5 text-xl text-white hover:underline"
|
class="mx-2 my-1 leading-5 text-xl text-white hover:underline"
|
||||||
>
|
>
|
||||||
<%= gettext("Lokal") %>
|
<%= gettext("Cannery") %>
|
||||||
</.link>
|
</.link>
|
||||||
|
|
||||||
<%= if @title_content do %>
|
<%= if @title_content do %>
|
@ -1,9 +1,9 @@
|
|||||||
defmodule LokalWeb.Components.UserCard do
|
defmodule CanneryWeb.Components.UserCard do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Display card for a user
|
Display card for a user
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :component
|
use CanneryWeb, :component
|
||||||
|
|
||||||
def user_card(assigns) do
|
def user_card(assigns) do
|
||||||
~H"""
|
~H"""
|
@ -1,16 +1,16 @@
|
|||||||
defmodule LokalWeb.EmailController do
|
defmodule CanneryWeb.EmailController do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
A dev controller used to develop on emails
|
A dev controller used to develop on emails
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
alias Lokal.Accounts.User
|
alias Cannery.Accounts.User
|
||||||
|
|
||||||
plug :put_layout, {LokalWeb.LayoutView, :email}
|
plug :put_layout, {CanneryWeb.LayoutView, :email}
|
||||||
|
|
||||||
@sample_assigns %{
|
@sample_assigns %{
|
||||||
email: %{subject: "Example subject"},
|
email: %{subject: "Example subject"},
|
||||||
url: "https://lokal.bubbletea.dev/sample_url",
|
url: "https://cannery.bubbletea.dev/sample_url",
|
||||||
user: %User{email: "sample@email.com"}
|
user: %User{email: "sample@email.com"}
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
defmodule LokalWeb.HomeController do
|
defmodule CanneryWeb.HomeController do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Controller for home page
|
Controller for home page
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
|
|
||||||
def index(conn, _params) do
|
def index(conn, _params) do
|
||||||
render(conn, "index.html")
|
render(conn, "index.html")
|
@ -1,20 +1,20 @@
|
|||||||
defmodule LokalWeb.UserAuth do
|
defmodule CanneryWeb.UserAuth do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Functions for user session and authentication
|
Functions for user session and authentication
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import Plug.Conn
|
import Plug.Conn
|
||||||
import Phoenix.Controller
|
import Phoenix.Controller
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Lokal.{Accounts, Accounts.User}
|
alias Cannery.{Accounts, Accounts.User}
|
||||||
alias LokalWeb.HomeLive
|
alias CanneryWeb.HomeLive
|
||||||
alias LokalWeb.Router.Helpers, as: Routes
|
alias CanneryWeb.Router.Helpers, as: Routes
|
||||||
|
|
||||||
# Make the remember me cookie valid for 60 days.
|
# Make the remember me cookie valid for 60 days.
|
||||||
# If you want bump or reduce this value, also change
|
# If you want bump or reduce this value, also change
|
||||||
# the token expiry itself in UserToken.
|
# the token expiry itself in UserToken.
|
||||||
@max_age 60 * 60 * 24 * 60
|
@max_age 60 * 60 * 24 * 60
|
||||||
@remember_me_cookie "_lokal_web_user_remember_me"
|
@remember_me_cookie "_cannery_web_user_remember_me"
|
||||||
@remember_me_options [sign: true, max_age: @max_age, same_site: "Lax"]
|
@remember_me_options [sign: true, max_age: @max_age, same_site: "Lax"]
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
@ -99,7 +99,7 @@ defmodule LokalWeb.UserAuth do
|
|||||||
user_token && Accounts.delete_session_token(user_token)
|
user_token && Accounts.delete_session_token(user_token)
|
||||||
|
|
||||||
if live_socket_id = get_session(conn, :live_socket_id) do
|
if live_socket_id = get_session(conn, :live_socket_id) do
|
||||||
LokalWeb.Endpoint.broadcast(live_socket_id, "disconnect", %{})
|
CanneryWeb.Endpoint.broadcast(live_socket_id, "disconnect", %{})
|
||||||
end
|
end
|
||||||
|
|
||||||
conn
|
conn
|
@ -1,8 +1,8 @@
|
|||||||
defmodule LokalWeb.UserConfirmationController do
|
defmodule CanneryWeb.UserConfirmationController do
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
|
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
|
|
||||||
def new(conn, _params) do
|
def new(conn, _params) do
|
||||||
render(conn, "new.html", page_title: gettext("Confirm your account"))
|
render(conn, "new.html", page_title: gettext("Confirm your account"))
|
@ -1,8 +1,8 @@
|
|||||||
defmodule LokalWeb.UserRegistrationController do
|
defmodule CanneryWeb.UserRegistrationController do
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Lokal.{Accounts, Accounts.Invites}
|
alias Cannery.{Accounts, Accounts.Invites}
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
|
|
||||||
def new(conn, %{"invite" => invite_token}) do
|
def new(conn, %{"invite" => invite_token}) do
|
||||||
if Invites.valid_invite_token?(invite_token) do
|
if Invites.valid_invite_token?(invite_token) do
|
@ -1,7 +1,7 @@
|
|||||||
defmodule LokalWeb.UserResetPasswordController do
|
defmodule CanneryWeb.UserResetPasswordController do
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
|
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
|
|
||||||
plug :get_user_by_reset_password_token when action in [:edit, :update]
|
plug :get_user_by_reset_password_token when action in [:edit, :update]
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
defmodule LokalWeb.UserSessionController do
|
defmodule CanneryWeb.UserSessionController do
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
|
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
alias LokalWeb.UserAuth
|
alias CanneryWeb.UserAuth
|
||||||
|
|
||||||
def new(conn, _params) do
|
def new(conn, _params) do
|
||||||
render(conn, "new.html", error_message: nil, page_title: gettext("Log in"))
|
render(conn, "new.html", error_message: nil, page_title: gettext("Log in"))
|
@ -1,8 +1,8 @@
|
|||||||
defmodule LokalWeb.UserSettingsController do
|
defmodule CanneryWeb.UserSettingsController do
|
||||||
use LokalWeb, :controller
|
use CanneryWeb, :controller
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
alias LokalWeb.{HomeLive, UserAuth}
|
alias CanneryWeb.{HomeLive, UserAuth}
|
||||||
|
|
||||||
plug :assign_email_and_password_changesets
|
plug :assign_email_and_password_changesets
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
defmodule LokalWeb.Endpoint do
|
defmodule CanneryWeb.Endpoint do
|
||||||
use Phoenix.Endpoint, otp_app: :lokal
|
use Phoenix.Endpoint, otp_app: :cannery
|
||||||
|
|
||||||
# The session will be stored in the cookie and signed,
|
# The session will be stored in the cookie and signed,
|
||||||
# this means its contents can be read but not tampered with.
|
# this means its contents can be read but not tampered with.
|
||||||
# Set :encryption_salt if you would also like to encrypt it.
|
# Set :encryption_salt if you would also like to encrypt it.
|
||||||
@session_options [
|
@session_options [
|
||||||
store: :cookie,
|
store: :cookie,
|
||||||
key: "_lokal_key",
|
key: "_cannery_key",
|
||||||
signing_salt: "fxAnJltS"
|
signing_salt: "fxAnJltS"
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ defmodule LokalWeb.Endpoint do
|
|||||||
# when deploying your static files in production.
|
# when deploying your static files in production.
|
||||||
plug Plug.Static,
|
plug Plug.Static,
|
||||||
at: "/",
|
at: "/",
|
||||||
from: :lokal,
|
from: :cannery,
|
||||||
gzip: false,
|
gzip: false,
|
||||||
only: ~w(css fonts images js favicon.ico robots.txt)
|
only: ~w(css fonts images js favicon.ico robots.txt)
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ defmodule LokalWeb.Endpoint do
|
|||||||
socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
|
socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
|
||||||
plug Phoenix.LiveReloader
|
plug Phoenix.LiveReloader
|
||||||
plug Phoenix.CodeReloader
|
plug Phoenix.CodeReloader
|
||||||
plug Phoenix.Ecto.CheckRepoStatus, otp_app: :lokal
|
plug Phoenix.Ecto.CheckRepoStatus, otp_app: :cannery
|
||||||
end
|
end
|
||||||
|
|
||||||
plug Phoenix.LiveDashboard.RequestLogger,
|
plug Phoenix.LiveDashboard.RequestLogger,
|
||||||
@ -46,5 +46,5 @@ defmodule LokalWeb.Endpoint do
|
|||||||
plug Plug.MethodOverride
|
plug Plug.MethodOverride
|
||||||
plug Plug.Head
|
plug Plug.Head
|
||||||
plug Plug.Session, @session_options
|
plug Plug.Session, @session_options
|
||||||
plug LokalWeb.Router
|
plug CanneryWeb.Router
|
||||||
end
|
end
|
@ -1,11 +1,11 @@
|
|||||||
defmodule LokalWeb.Gettext do
|
defmodule CanneryWeb.Gettext do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
A module providing Internationalization with a gettext-based API.
|
A module providing Internationalization with a gettext-based API.
|
||||||
|
|
||||||
By using [Gettext](https://hexdocs.pm/gettext),
|
By using [Gettext](https://hexdocs.pm/gettext),
|
||||||
your module gains a set of macros for translations, for example:
|
your module gains a set of macros for translations, for example:
|
||||||
|
|
||||||
import LokalWeb.Gettext
|
import CanneryWeb.Gettext
|
||||||
|
|
||||||
# Simple translation
|
# Simple translation
|
||||||
gettext("Here is the string to translate")
|
gettext("Here is the string to translate")
|
||||||
@ -20,5 +20,5 @@ defmodule LokalWeb.Gettext do
|
|||||||
|
|
||||||
See the [Gettext Docs](https://hexdocs.pm/gettext) for detailed usage.
|
See the [Gettext Docs](https://hexdocs.pm/gettext) for detailed usage.
|
||||||
"""
|
"""
|
||||||
use Gettext, otp_app: :lokal
|
use Gettext, otp_app: :cannery
|
||||||
end
|
end
|
@ -1,11 +1,11 @@
|
|||||||
defmodule LokalWeb.HomeLive do
|
defmodule CanneryWeb.HomeLive do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Liveview for the home page
|
Liveview for the home page
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :live_view
|
use CanneryWeb, :live_view
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
alias LokalWeb.Endpoint
|
alias CanneryWeb.Endpoint
|
||||||
|
|
||||||
@version Mix.Project.config()[:version]
|
@version Mix.Project.config()[:version]
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<div class="mx-auto px-8 sm:px-16 flex flex-col justify-center items-center text-center space-y-4 max-w-3xl">
|
<div class="mx-auto px-8 sm:px-16 flex flex-col justify-center items-center text-center space-y-4 max-w-3xl">
|
||||||
<h1 class="title text-primary-600 text-2xl">
|
<h1 class="title text-primary-600 text-2xl">
|
||||||
<%= gettext("Welcome to Lokal") %>
|
<%= gettext("Welcome to Cannery") %>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<h2 class="title text-primary-600 text-lg">
|
<h2 class="title text-primary-600 text-lg">
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<%= gettext("Easy to Use:") %>
|
<%= gettext("Easy to Use:") %>
|
||||||
</b>
|
</b>
|
||||||
<p>
|
<p>
|
||||||
<%= gettext("Lokal lets you easily shop from your local community") %>
|
<%= gettext("Cannery lets you easily shop from your local community") %>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex flex-col justify-center items-center space-y-2">
|
<li class="flex flex-col justify-center items-center space-y-2">
|
||||||
@ -53,7 +53,7 @@
|
|||||||
<p>
|
<p>
|
||||||
<%= if @admins |> Enum.empty?() do %>
|
<%= if @admins |> Enum.empty?() do %>
|
||||||
<.link href={Routes.user_registration_path(Endpoint, :new)} class="hover:underline">
|
<.link href={Routes.user_registration_path(Endpoint, :new)} class="hover:underline">
|
||||||
<%= dgettext("prompts", "Register to setup Lokal") %>
|
<%= dgettext("prompts", "Register to setup Cannery") %>
|
||||||
</.link>
|
</.link>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="flex flex-wrap justify-center space-x-2">
|
<div class="flex flex-wrap justify-center space-x-2">
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<li class="flex flex-row justify-center space-x-2">
|
<li class="flex flex-row justify-center space-x-2">
|
||||||
<b><%= gettext("Registration:") %></b>
|
<b><%= gettext("Registration:") %></b>
|
||||||
<p>
|
<p>
|
||||||
<%= case Application.get_env(:lokal, Lokal.Accounts)[:registration] do
|
<%= case Application.get_env(:cannery, Cannery.Accounts)[:registration] do
|
||||||
"public" -> gettext("Public Signups")
|
"public" -> gettext("Public Signups")
|
||||||
_ -> gettext("Invite Only")
|
_ -> gettext("Invite Only")
|
||||||
end %>
|
end %>
|
||||||
@ -78,7 +78,7 @@
|
|||||||
<li class="flex flex-row justify-center items-center space-x-2">
|
<li class="flex flex-row justify-center items-center space-x-2">
|
||||||
<b><%= gettext("Version:") %></b>
|
<b><%= gettext("Version:") %></b>
|
||||||
<.link
|
<.link
|
||||||
href="https://gitea.bubbletea.dev/shibao/lokal/src/branch/stable/CHANGELOG.md"
|
href="https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/CHANGELOG.md"
|
||||||
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
@ -101,7 +101,7 @@
|
|||||||
<li class="flex flex-col justify-center space-x-2">
|
<li class="flex flex-col justify-center space-x-2">
|
||||||
<.link
|
<.link
|
||||||
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
||||||
href="https://gitea.bubbletea.dev/shibao/lokal"
|
href="https://gitea.bubbletea.dev/shibao/cannery"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
@ -112,7 +112,7 @@
|
|||||||
<li class="flex flex-col justify-center space-x-2">
|
<li class="flex flex-col justify-center space-x-2">
|
||||||
<.link
|
<.link
|
||||||
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
||||||
href="https://weblate.bubbletea.dev/engage/lokal"
|
href="https://weblate.bubbletea.dev/engage/cannery"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
@ -123,7 +123,7 @@
|
|||||||
<li class="flex flex-col justify-center space-x-2">
|
<li class="flex flex-col justify-center space-x-2">
|
||||||
<.link
|
<.link
|
||||||
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
class="flex flex-row justify-center items-center space-x-2 hover:underline"
|
||||||
href="https://gitea.bubbletea.dev/shibao/lokal/issues/new"
|
href="https://gitea.bubbletea.dev/shibao/cannery/issues/new"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
@ -1,9 +1,9 @@
|
|||||||
defmodule LokalWeb.InitAssigns do
|
defmodule CanneryWeb.InitAssigns do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Ensures common `assigns` are applied to all LiveViews attaching this hook.
|
Ensures common `assigns` are applied to all LiveViews attaching this hook.
|
||||||
"""
|
"""
|
||||||
import Phoenix.Component
|
import Phoenix.Component
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
|
|
||||||
def on_mount(:default, _params, %{"locale" => locale, "user_token" => user_token}, socket) do
|
def on_mount(:default, _params, %{"locale" => locale, "user_token" => user_token}, socket) do
|
||||||
Gettext.put_locale(locale)
|
Gettext.put_locale(locale)
|
@ -1,11 +1,11 @@
|
|||||||
defmodule LokalWeb.InviteLive.FormComponent do
|
defmodule CanneryWeb.InviteLive.FormComponent do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Livecomponent that can update or create an Lokal.Accounts.Invite
|
Livecomponent that can update or create an Cannery.Accounts.Invite
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :live_component
|
use CanneryWeb, :live_component
|
||||||
alias Ecto.Changeset
|
alias Ecto.Changeset
|
||||||
alias Lokal.Accounts.{Invite, Invites, User}
|
alias Cannery.Accounts.{Invite, Invites, User}
|
||||||
alias Phoenix.LiveView.Socket
|
alias Phoenix.LiveView.Socket
|
||||||
|
|
||||||
@impl true
|
@impl true
|
@ -1,13 +1,13 @@
|
|||||||
defmodule LokalWeb.InviteLive.Index do
|
defmodule CanneryWeb.InviteLive.Index do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Liveview to show a Lokal.Accounts.Invite index
|
Liveview to show a Cannery.Accounts.Invite index
|
||||||
"""
|
"""
|
||||||
|
|
||||||
use LokalWeb, :live_view
|
use CanneryWeb, :live_view
|
||||||
import LokalWeb.Components.{InviteCard, UserCard}
|
import CanneryWeb.Components.{InviteCard, UserCard}
|
||||||
alias Lokal.Accounts
|
alias Cannery.Accounts
|
||||||
alias Lokal.Accounts.{Invite, Invites}
|
alias Cannery.Accounts.{Invite, Invites}
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
alias Phoenix.LiveView.JS
|
alias Phoenix.LiveView.JS
|
||||||
|
|
||||||
@impl true
|
@impl true
|
@ -24,7 +24,7 @@
|
|||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
class="mx-2 my-1 btn btn-primary"
|
class="mx-2 my-1 btn btn-primary"
|
||||||
phx-click={JS.dispatch("lokal:clipcopy", to: "#code-#{invite.id}")}
|
phx-click={JS.dispatch("cannery:clipcopy", to: "#code-#{invite.id}")}
|
||||||
>
|
>
|
||||||
<%= dgettext("actions", "Copy to clipboard") %>
|
<%= dgettext("actions", "Copy to clipboard") %>
|
||||||
</button>
|
</button>
|
||||||
@ -138,7 +138,7 @@
|
|||||||
|
|
||||||
<.modal :if={@live_action in [:new, :edit]} return_to={Routes.invite_index_path(Endpoint, :index)}>
|
<.modal :if={@live_action in [:new, :edit]} return_to={Routes.invite_index_path(Endpoint, :index)}>
|
||||||
<.live_component
|
<.live_component
|
||||||
module={LokalWeb.InviteLive.FormComponent}
|
module={CanneryWeb.InviteLive.FormComponent}
|
||||||
id={@invite.id || :new}
|
id={@invite.id || :new}
|
||||||
title={@page_title}
|
title={@page_title}
|
||||||
action={@live_action}
|
action={@live_action}
|
@ -1,4 +1,4 @@
|
|||||||
defmodule LokalWeb.LiveHelpers do
|
defmodule CanneryWeb.LiveHelpers do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Contains resuable methods for all liveviews
|
Contains resuable methods for all liveviews
|
||||||
"""
|
"""
|
@ -1,13 +1,13 @@
|
|||||||
defmodule LokalWeb.Router do
|
defmodule CanneryWeb.Router do
|
||||||
use LokalWeb, :router
|
use CanneryWeb, :router
|
||||||
import Phoenix.LiveDashboard.Router
|
import Phoenix.LiveDashboard.Router
|
||||||
import LokalWeb.UserAuth
|
import CanneryWeb.UserAuth
|
||||||
|
|
||||||
pipeline :browser do
|
pipeline :browser do
|
||||||
plug :accepts, ["html"]
|
plug :accepts, ["html"]
|
||||||
plug :fetch_session
|
plug :fetch_session
|
||||||
plug :fetch_live_flash
|
plug :fetch_live_flash
|
||||||
plug :put_root_layout, {LokalWeb.LayoutView, :root}
|
plug :put_root_layout, {CanneryWeb.LayoutView, :root}
|
||||||
plug :protect_from_forgery
|
plug :protect_from_forgery
|
||||||
plug :put_secure_browser_headers
|
plug :put_secure_browser_headers
|
||||||
plug :fetch_current_user
|
plug :fetch_current_user
|
||||||
@ -34,7 +34,7 @@ defmodule LokalWeb.Router do
|
|||||||
plug :accepts, ["json"]
|
plug :accepts, ["json"]
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", LokalWeb do
|
scope "/", CanneryWeb do
|
||||||
pipe_through :browser
|
pipe_through :browser
|
||||||
|
|
||||||
live "/", HomeLive
|
live "/", HomeLive
|
||||||
@ -42,7 +42,7 @@ defmodule LokalWeb.Router do
|
|||||||
|
|
||||||
## Authentication routes
|
## Authentication routes
|
||||||
|
|
||||||
scope "/", LokalWeb do
|
scope "/", CanneryWeb do
|
||||||
pipe_through [:browser, :redirect_if_user_is_authenticated]
|
pipe_through [:browser, :redirect_if_user_is_authenticated]
|
||||||
|
|
||||||
get "/users/register", UserRegistrationController, :new
|
get "/users/register", UserRegistrationController, :new
|
||||||
@ -55,7 +55,7 @@ defmodule LokalWeb.Router do
|
|||||||
put "/users/reset_password/:token", UserResetPasswordController, :update
|
put "/users/reset_password/:token", UserResetPasswordController, :update
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", LokalWeb do
|
scope "/", CanneryWeb do
|
||||||
pipe_through [:browser, :require_authenticated_user]
|
pipe_through [:browser, :require_authenticated_user]
|
||||||
|
|
||||||
get "/users/settings", UserSettingsController, :edit
|
get "/users/settings", UserSettingsController, :edit
|
||||||
@ -64,17 +64,17 @@ defmodule LokalWeb.Router do
|
|||||||
get "/users/settings/confirm_email/:token", UserSettingsController, :confirm_email
|
get "/users/settings/confirm_email/:token", UserSettingsController, :confirm_email
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", LokalWeb do
|
scope "/", CanneryWeb do
|
||||||
pipe_through [:browser, :require_authenticated_user, :require_admin]
|
pipe_through [:browser, :require_authenticated_user, :require_admin]
|
||||||
|
|
||||||
live_dashboard "/dashboard", metrics: LokalWeb.Telemetry, ecto_repos: [Lokal.Repo]
|
live_dashboard "/dashboard", metrics: CanneryWeb.Telemetry, ecto_repos: [Cannery.Repo]
|
||||||
|
|
||||||
live "/invites", InviteLive.Index, :index
|
live "/invites", InviteLive.Index, :index
|
||||||
live "/invites/new", InviteLive.Index, :new
|
live "/invites/new", InviteLive.Index, :new
|
||||||
live "/invites/:id/edit", InviteLive.Index, :edit
|
live "/invites/:id/edit", InviteLive.Index, :edit
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", LokalWeb do
|
scope "/", CanneryWeb do
|
||||||
pipe_through [:browser]
|
pipe_through [:browser]
|
||||||
|
|
||||||
delete "/users/log_out", UserSessionController, :delete
|
delete "/users/log_out", UserSessionController, :delete
|
||||||
@ -95,7 +95,7 @@ defmodule LokalWeb.Router do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scope "/dev" do
|
scope "/dev" do
|
||||||
get "/preview/:id", LokalWeb.EmailController, :preview
|
get "/preview/:id", CanneryWeb.EmailController, :preview
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
@ -1,4 +1,4 @@
|
|||||||
defmodule LokalWeb.Telemetry do
|
defmodule CanneryWeb.Telemetry do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Collects telemetry
|
Collects telemetry
|
||||||
"""
|
"""
|
||||||
@ -35,23 +35,23 @@ defmodule LokalWeb.Telemetry do
|
|||||||
),
|
),
|
||||||
|
|
||||||
# Database Metrics
|
# Database Metrics
|
||||||
summary("lokal.repo.query.total_time",
|
summary("cannery.repo.query.total_time",
|
||||||
unit: {:native, :millisecond},
|
unit: {:native, :millisecond},
|
||||||
description: "The sum of the other measurements"
|
description: "The sum of the other measurements"
|
||||||
),
|
),
|
||||||
summary("lokal.repo.query.decode_time",
|
summary("cannery.repo.query.decode_time",
|
||||||
unit: {:native, :millisecond},
|
unit: {:native, :millisecond},
|
||||||
description: "The time spent decoding the data received from the database"
|
description: "The time spent decoding the data received from the database"
|
||||||
),
|
),
|
||||||
summary("lokal.repo.query.query_time",
|
summary("cannery.repo.query.query_time",
|
||||||
unit: {:native, :millisecond},
|
unit: {:native, :millisecond},
|
||||||
description: "The time spent executing the query"
|
description: "The time spent executing the query"
|
||||||
),
|
),
|
||||||
summary("lokal.repo.query.queue_time",
|
summary("cannery.repo.query.queue_time",
|
||||||
unit: {:native, :millisecond},
|
unit: {:native, :millisecond},
|
||||||
description: "The time spent waiting for a database connection"
|
description: "The time spent waiting for a database connection"
|
||||||
),
|
),
|
||||||
summary("lokal.repo.query.idle_time",
|
summary("cannery.repo.query.idle_time",
|
||||||
unit: {:native, :millisecond},
|
unit: {:native, :millisecond},
|
||||||
description:
|
description:
|
||||||
"The time the connection spent waiting before being checked out for the query"
|
"The time the connection spent waiting before being checked out for the query"
|
||||||
@ -93,7 +93,7 @@ defmodule LokalWeb.Telemetry do
|
|||||||
[
|
[
|
||||||
# A module, function and arguments to be invoked periodically.
|
# A module, function and arguments to be invoked periodically.
|
||||||
# This function must call :telemetry.execute/3 and a metric must be added above.
|
# This function must call :telemetry.execute/3 and a metric must be added above.
|
||||||
# {LokalWeb, :count_users, []}
|
# {CanneryWeb, :count_users, []}
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
end
|
end
|
@ -6,7 +6,7 @@
|
|||||||
<br />
|
<br />
|
||||||
|
|
||||||
<span style="margin-bottom: 1em; font-size: 1.25em;">
|
<span style="margin-bottom: 1em; font-size: 1.25em;">
|
||||||
<%= dgettext("emails", "Welcome to Lokal") %>
|
<%= dgettext("emails", "Welcome to Cannery") %>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
@ -19,5 +19,5 @@
|
|||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<%= dgettext("emails", "If you didn't create an account at Lokal, please ignore this.") %>
|
<%= dgettext("emails", "If you didn't create an account at Cannery, please ignore this.") %>
|
||||||
</div>
|
</div>
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
||||||
|
|
||||||
<%= dgettext("emails", "Welcome to Lokal") %>
|
<%= dgettext("emails", "Welcome to Cannery") %>
|
||||||
|
|
||||||
<%= dgettext("emails", "You can confirm your account by visiting the URL below:") %>
|
<%= dgettext("emails", "You can confirm your account by visiting the URL below:") %>
|
||||||
|
|
@ -13,5 +13,5 @@
|
|||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<%= dgettext("emails", "If you didn't request this change from Lokal, please ignore this.") %>
|
<%= dgettext("emails", "If you didn't request this change from Cannery, please ignore this.") %>
|
||||||
</div>
|
</div>
|
@ -15,6 +15,6 @@
|
|||||||
|
|
||||||
<%= dgettext(
|
<%= dgettext(
|
||||||
"emails",
|
"emails",
|
||||||
"If you didn't request this change from Lokal, please ignore this."
|
"If you didn't request this change from Cannery, please ignore this."
|
||||||
) %>
|
) %>
|
||||||
</div>
|
</div>
|
@ -5,7 +5,7 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>
|
<title>
|
||||||
<%= dgettext("errors", "Error") %> | <%= gettext("Lokal") %>
|
<%= dgettext("errors", "Error") %> | <%= gettext("Cannery") %>
|
||||||
</title>
|
</title>
|
||||||
<link rel="stylesheet" href="/css/app.css" />
|
<link rel="stylesheet" href="/css/app.css" />
|
||||||
<script defer type="text/javascript" src="/js/app.js">
|
<script defer type="text/javascript" src="/js/app.js">
|
||||||
@ -13,7 +13,8 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="pb-8 m-0 p-0 w-full h-full">
|
<body class="pb-8 m-0 p-0 w-full h-full">
|
||||||
<header>
|
<header>
|
||||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
<CanneryWeb.Components.Topbar.topbar current_user={assigns[:current_user]}>
|
||||||
|
</CanneryWeb.Components.Topbar.topbar>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="pb-8 w-full flex flex-col justify-center items-center text-center">
|
<div class="pb-8 w-full flex flex-col justify-center items-center text-center">
|
@ -1,6 +1,7 @@
|
|||||||
<main role="main" class="min-h-full min-w-full">
|
<main role="main" class="min-h-full min-w-full">
|
||||||
<header>
|
<header>
|
||||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
<CanneryWeb.Components.Topbar.topbar current_user={assigns[:current_user]}>
|
||||||
|
</CanneryWeb.Components.Topbar.topbar>
|
||||||
|
|
||||||
<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={get_flash(@conn, :info)} class="alert alert-info" role="alert">
|
<p :if={get_flash(@conn, :info)} class="alert alert-info" role="alert">
|
@ -12,7 +12,7 @@
|
|||||||
<a style="color: rgb(31, 31, 31);" href={Routes.live_url(Endpoint, HomeLive)}>
|
<a style="color: rgb(31, 31, 31);" href={Routes.live_url(Endpoint, HomeLive)}>
|
||||||
<%= dgettext(
|
<%= dgettext(
|
||||||
"emails",
|
"emails",
|
||||||
"This email was sent from Lokal, the self-hosted firearm tracker website."
|
"This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||||
) %>
|
) %>
|
||||||
</a>
|
</a>
|
||||||
</body>
|
</body>
|
@ -7,5 +7,5 @@
|
|||||||
=====================
|
=====================
|
||||||
|
|
||||||
<%= dgettext("emails",
|
<%= dgettext("emails",
|
||||||
"This email was sent from Lokal at %{url}, the self-hosted firearm tracker website.",
|
"This email was sent from Cannery at %{url}, the self-hosted firearm tracker website.",
|
||||||
url: Routes.live_url(Endpoint, HomeLive)) %>
|
url: Routes.live_url(Endpoint, HomeLive)) %>
|
@ -1,6 +1,7 @@
|
|||||||
<main class="pb-8 min-w-full">
|
<main class="pb-8 min-w-full">
|
||||||
<header>
|
<header>
|
||||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
<CanneryWeb.Components.Topbar.topbar current_user={assigns[:current_user]}>
|
||||||
|
</CanneryWeb.Components.Topbar.topbar>
|
||||||
|
|
||||||
<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
|
<p
|
@ -5,8 +5,8 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<%= csrf_meta_tag() %>
|
<%= csrf_meta_tag() %>
|
||||||
<.live_title suffix={" | #{gettext("Lokal")}"}>
|
<.live_title suffix={" | #{gettext("Cannery")}"}>
|
||||||
<%= assigns[:page_title] || gettext("Lokal") %>
|
<%= assigns[:page_title] || gettext("Cannery") %>
|
||||||
</.live_title>
|
</.live_title>
|
||||||
<link phx-track-static rel="stylesheet" href={Routes.static_path(@conn, "/css/app.css")} />
|
<link phx-track-static rel="stylesheet" href={Routes.static_path(@conn, "/css/app.css")} />
|
||||||
<script
|
<script
|
7
lib/cannery_web/views/email_view.ex
Normal file
7
lib/cannery_web/views/email_view.ex
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
defmodule CanneryWeb.EmailView do
|
||||||
|
@moduledoc """
|
||||||
|
A view for email-related helper functions
|
||||||
|
"""
|
||||||
|
use CanneryWeb, :view
|
||||||
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
|
end
|
@ -1,4 +1,4 @@
|
|||||||
defmodule LokalWeb.ErrorHelpers do
|
defmodule CanneryWeb.ErrorHelpers do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Conveniences for translating and building error messages.
|
Conveniences for translating and building error messages.
|
||||||
"""
|
"""
|
||||||
@ -50,9 +50,9 @@ defmodule LokalWeb.ErrorHelpers do
|
|||||||
# should be written to the errors.po file. The :count option is
|
# should be written to the errors.po file. The :count option is
|
||||||
# set by Ecto and indicates we should also apply plural rules.
|
# set by Ecto and indicates we should also apply plural rules.
|
||||||
if count = opts[:count] do
|
if count = opts[:count] do
|
||||||
Gettext.dngettext(LokalWeb.Gettext, "errors", msg, msg, count, opts)
|
Gettext.dngettext(CanneryWeb.Gettext, "errors", msg, msg, count, opts)
|
||||||
else
|
else
|
||||||
Gettext.dgettext(LokalWeb.Gettext, "errors", msg, opts)
|
Gettext.dgettext(CanneryWeb.Gettext, "errors", msg, opts)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -1,7 +1,6 @@
|
|||||||
defmodule LokalWeb.ErrorView do
|
defmodule CanneryWeb.ErrorView do
|
||||||
use LokalWeb, :view
|
use CanneryWeb, :view
|
||||||
import LokalWeb.Components.Topbar
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
|
||||||
|
|
||||||
def template_not_found(error_path, _assigns) do
|
def template_not_found(error_path, _assigns) do
|
||||||
error_string =
|
error_string =
|
3
lib/cannery_web/views/home_view.ex
Normal file
3
lib/cannery_web/views/home_view.ex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
defmodule CanneryWeb.PageView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
end
|
@ -1,17 +1,16 @@
|
|||||||
defmodule LokalWeb.LayoutView do
|
defmodule CanneryWeb.LayoutView do
|
||||||
use LokalWeb, :view
|
use CanneryWeb, :view
|
||||||
import LokalWeb.Components.Topbar
|
alias CanneryWeb.{Endpoint, HomeLive}
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
|
||||||
|
|
||||||
# Phoenix LiveDashboard is available only in development by default,
|
# Phoenix LiveDashboard is available only in development by default,
|
||||||
# so we instruct Elixir to not warn if the dashboard route is missing.
|
# so we instruct Elixir to not warn if the dashboard route is missing.
|
||||||
@compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}}
|
@compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}}
|
||||||
|
|
||||||
def get_title(%{assigns: %{title: title}}) when title not in [nil, ""] do
|
def get_title(%{assigns: %{title: title}}) when title not in [nil, ""] do
|
||||||
gettext("Lokal | %{title}", title: title)
|
gettext("Cannery | %{title}", title: title)
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_title(_conn) do
|
def get_title(_conn) do
|
||||||
gettext("Lokal")
|
gettext("Cannery")
|
||||||
end
|
end
|
||||||
end
|
end
|
4
lib/cannery_web/views/user_confirmation_view.ex
Normal file
4
lib/cannery_web/views/user_confirmation_view.ex
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
defmodule CanneryWeb.UserConfirmationView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
alias Cannery.Accounts
|
||||||
|
end
|
3
lib/cannery_web/views/user_registration_view.ex
Normal file
3
lib/cannery_web/views/user_registration_view.ex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
defmodule CanneryWeb.UserRegistrationView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
end
|
4
lib/cannery_web/views/user_reset_password_view.ex
Normal file
4
lib/cannery_web/views/user_reset_password_view.ex
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
defmodule CanneryWeb.UserResetPasswordView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
alias Cannery.Accounts
|
||||||
|
end
|
4
lib/cannery_web/views/user_session_view.ex
Normal file
4
lib/cannery_web/views/user_session_view.ex
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
defmodule CanneryWeb.UserSessionView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
alias Cannery.Accounts
|
||||||
|
end
|
3
lib/cannery_web/views/user_settings_view.ex
Normal file
3
lib/cannery_web/views/user_settings_view.ex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
defmodule CanneryWeb.UserSettingsView do
|
||||||
|
use CanneryWeb, :view
|
||||||
|
end
|
@ -1,7 +1,7 @@
|
|||||||
defmodule LokalWeb.ViewHelpers do
|
defmodule CanneryWeb.ViewHelpers do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Contains common helpers that can be used in liveviews and regular views. These
|
Contains common helpers that can be used in liveviews and regular views. These
|
||||||
are automatically imported into any Phoenix View using `use LokalWeb,
|
are automatically imported into any Phoenix View using `use CanneryWeb,
|
||||||
:view`
|
:view`
|
||||||
"""
|
"""
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
defmodule LokalWeb.EmailView do
|
|
||||||
@moduledoc """
|
|
||||||
A view for email-related helper functions
|
|
||||||
"""
|
|
||||||
use LokalWeb, :view
|
|
||||||
alias LokalWeb.{Endpoint, HomeLive}
|
|
||||||
end
|
|
@ -1,3 +0,0 @@
|
|||||||
defmodule LokalWeb.PageView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
end
|
|
@ -1,4 +0,0 @@
|
|||||||
defmodule LokalWeb.UserConfirmationView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
alias Lokal.Accounts
|
|
||||||
end
|
|
@ -1,3 +0,0 @@
|
|||||||
defmodule LokalWeb.UserRegistrationView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
end
|
|
@ -1,4 +0,0 @@
|
|||||||
defmodule LokalWeb.UserResetPasswordView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
alias Lokal.Accounts
|
|
||||||
end
|
|
@ -1,4 +0,0 @@
|
|||||||
defmodule LokalWeb.UserSessionView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
alias Lokal.Accounts
|
|
||||||
end
|
|
@ -1,3 +0,0 @@
|
|||||||
defmodule LokalWeb.UserSettingsView do
|
|
||||||
use LokalWeb, :view
|
|
||||||
end
|
|
12
mix.exs
12
mix.exs
@ -1,9 +1,9 @@
|
|||||||
defmodule Lokal.MixProject do
|
defmodule Cannery.MixProject do
|
||||||
use Mix.Project
|
use Mix.Project
|
||||||
|
|
||||||
def project do
|
def project do
|
||||||
[
|
[
|
||||||
app: :lokal,
|
app: :cannery,
|
||||||
version: "0.1.0",
|
version: "0.1.0",
|
||||||
elixir: "~> 1.14",
|
elixir: "~> 1.14",
|
||||||
elixirc_paths: elixirc_paths(Mix.env()),
|
elixirc_paths: elixirc_paths(Mix.env()),
|
||||||
@ -15,9 +15,9 @@ defmodule Lokal.MixProject do
|
|||||||
consolidate_protocols: Mix.env() not in [:dev, :test],
|
consolidate_protocols: Mix.env() not in [:dev, :test],
|
||||||
preferred_cli_env: ["test.all": :test],
|
preferred_cli_env: ["test.all": :test],
|
||||||
# ExDoc
|
# ExDoc
|
||||||
name: "Lokal",
|
name: "Cannery",
|
||||||
source_url: "https://gitea.bubbletea.dev/shibao/lokal",
|
source_url: "https://gitea.bubbletea.dev/shibao/cannery",
|
||||||
homepage_url: "https://gitea.bubbletea.dev/shibao/lokal",
|
homepage_url: "https://gitea.bubbletea.dev/shibao/cannery",
|
||||||
docs: [
|
docs: [
|
||||||
# The main page in the docs
|
# The main page in the docs
|
||||||
main: "README.md",
|
main: "README.md",
|
||||||
@ -33,7 +33,7 @@ defmodule Lokal.MixProject do
|
|||||||
# Type `mix help compile.app` for more information.
|
# Type `mix help compile.app` for more information.
|
||||||
def application do
|
def application do
|
||||||
[
|
[
|
||||||
mod: {Lokal.Application, []},
|
mod: {Cannery.Application, []},
|
||||||
extra_applications: [:logger, :runtime_tools, :os_mon, :crypto]
|
extra_applications: [:logger, :runtime_tools, :os_mon, :crypto]
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
@ -10,95 +10,95 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:15
|
#: lib/cannery_web/components/topbar.ex:91
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:43
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||||
#, elixir-autogen, elixir-format
|
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||||
msgid "Change email"
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||||
msgstr ""
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:57
|
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Change password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:142
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Delete User"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:47
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:42
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Forgot your password?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:91
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:31
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:44
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:45
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:31
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:83
|
#: lib/cannery_web/components/topbar.ex:83
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:28
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:3
|
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:37
|
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:42
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:28
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:39
|
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:29
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:15
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Resend confirmation instructions"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reset password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:15
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Send instructions to reset password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:16
|
#: lib/cannery_web/live/invite_live/index.html.heex:16
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Create Invite"
|
msgid "Create Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:12
|
#: lib/cannery_web/live/invite_live/index.html.heex:12
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite someone new!"
|
msgid "Invite someone new!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:29
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:111
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Change Language"
|
msgid "Change Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:128
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Change email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Change language"
|
msgid "Change language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Change password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Delete User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Forgot your password?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:15
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Resend confirmation instructions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reset password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:15
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Send instructions to reset password"
|
||||||
|
msgstr ""
|
||||||
|
@ -10,293 +10,293 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:20
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:8
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:76
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Confirm new password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:8
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm your account"
|
msgid "Confirm your account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:31
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:9
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:85
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Current password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:9
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Forgot your password?"
|
msgid "Forgot your password?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:42
|
#: lib/cannery_web/components/invite_card.ex:42
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:44
|
#: lib/cannery_web/components/topbar.ex:44
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:42
|
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invites"
|
msgid "Invites"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:23
|
#: lib/cannery_web/controllers/user_session_controller.ex:8
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Keep me logged in for 60 days"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_session_controller.ex:8
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:16
|
#: lib/cannery_web/controllers/user_registration_controller.ex:32
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:69
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "New password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/live.html.heex:43
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reconnecting..."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:32
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:36
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:36
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Reset your password"
|
msgid "Reset your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.ex:15
|
#: lib/cannery_web/live/home_live.ex:15
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:86
|
#: lib/cannery_web/live/invite_live/index.html.heex:86
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Admins"
|
msgid "Admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:62
|
#: lib/cannery_web/live/invite_live/index.html.heex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:34
|
#: lib/cannery_web/live/invite_live/index.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit Invite"
|
msgid "Edit Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:62
|
#: lib/cannery_web/live/invite_live/index.html.heex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:21
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:38
|
#: lib/cannery_web/live/invite_live/index.ex:38
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Invite"
|
msgid "New Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:8
|
#: lib/cannery_web/live/invite_live/index.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No invites 😔"
|
msgid "No invites 😔"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:77
|
#: lib/cannery_web/live/invite_live/index.html.heex:77
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set Unlimited"
|
msgid "Set Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:114
|
#: lib/cannery_web/live/invite_live/index.html.heex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:25
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses left"
|
msgid "Uses left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:32
|
#: lib/cannery_web/components/user_card.ex:29
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:123
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "English"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Language"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email unconfirmed"
|
msgid "Email unconfirmed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:23
|
#: lib/cannery_web/components/topbar.ex:23
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:8
|
#: lib/cannery_web/templates/error/error.html.heex:8
|
||||||
#: lib/lokal_web/templates/layout/root.html.heex:8
|
#: lib/cannery_web/templates/layout/root.html.heex:8
|
||||||
#: lib/lokal_web/templates/layout/root.html.heex:9
|
#: lib/cannery_web/templates/layout/root.html.heex:9
|
||||||
#: lib/lokal_web/views/layout_view.ex:15
|
#: lib/cannery_web/views/layout_view.ex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal"
|
msgid "Cannery"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:34
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User registered on%{registered_datetime}"
|
msgid "User registered on%{registered_datetime}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:23
|
#: lib/cannery_web/components/user_card.ex:23
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User was confirmed at%{confirmed_datetime}"
|
msgid "User was confirmed at%{confirmed_datetime}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:37
|
#: lib/cannery_web/components/invite_card.ex:37
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left: Unlimited"
|
msgid "Uses Left: Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:37
|
#: lib/cannery_web/live/home_live.html.heex:37
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Access from any internet-capable device"
|
msgid "Access from any internet-capable device"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:51
|
#: lib/cannery_web/live/home_live.html.heex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Admins:"
|
msgid "Admins:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:16
|
#: lib/cannery_web/live/home_live.html.heex:16
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:98
|
#: lib/cannery_web/live/home_live.html.heex:98
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Get involved!"
|
msgid "Get involved!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:119
|
#: lib/cannery_web/live/home_live.html.heex:119
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Help translate"
|
msgid "Help translate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:46
|
#: lib/cannery_web/live/home_live.html.heex:46
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:73
|
#: lib/cannery_web/live/home_live.html.heex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Only"
|
msgid "Invite Only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:72
|
#: lib/cannery_web/live/home_live.html.heex:72
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Public Signups"
|
msgid "Public Signups"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:69
|
#: lib/cannery_web/live/home_live.html.heex:69
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Registration:"
|
msgid "Registration:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:130
|
#: lib/cannery_web/live/home_live.html.heex:130
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Report bugs or request features"
|
msgid "Report bugs or request features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:24
|
#: lib/cannery_web/live/home_live.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Secure:"
|
msgid "Secure:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:27
|
#: lib/cannery_web/live/home_live.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:34
|
#: lib/cannery_web/live/home_live.html.heex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Simple:"
|
msgid "Simple:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:79
|
#: lib/cannery_web/live/home_live.html.heex:79
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Version:"
|
msgid "Version:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:108
|
#: lib/cannery_web/live/home_live.html.heex:108
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View the source code"
|
msgid "View the source code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:28
|
#: lib/cannery_web/live/home_live.html.heex:28
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Your data stays with you, period"
|
msgid "Your data stays with you, period"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:19
|
#: lib/cannery_web/live/home_live.html.heex:19
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal lets you easily shop from your local community"
|
msgid "Cannery lets you easily shop from your local community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:7
|
#: lib/cannery_web/live/home_live.html.heex:7
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Shop from your local community"
|
msgid "Shop from your local community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:3
|
#: lib/cannery_web/live/home_live.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Welcome to Lokal"
|
msgid "Welcome to Cannery"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/layout_view.ex:11
|
#: lib/cannery_web/views/layout_view.ex:10
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal | %{title}"
|
msgid "Cannery | %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:32
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses Left: %{uses_left_count}"
|
msgid "Uses Left: %{uses_left_count}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:52
|
#: lib/cannery_web/components/invite_card.ex:52
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses: %{uses_count}"
|
msgid "Uses: %{uses_count}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:12
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:20
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:12
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:17
|
msgid "Confirm new password"
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:27
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:24
|
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:20
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "English"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Keep me logged in for 60 days"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:28
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:44
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reconnecting..."
|
||||||
|
msgstr ""
|
||||||
|
@ -10,83 +10,83 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:3
|
#: lib/cannery/accounts/email.ex:30
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:2
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:3
|
msgid "Confirm your Cannery account"
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:2
|
msgstr ""
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:2
|
#: lib/cannery/accounts/email.ex:37
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reset your Cannery password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery/accounts/email.ex:44
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Update your Cannery email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||||
|
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Hi %{email},"
|
msgid "Hi %{email},"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:10
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:10
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "If you didn't create an account at %{url}, please ignore this."
|
msgid "If you didn't create an account at %{url}, please ignore this."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:8
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:8
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:8
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:8
|
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:4
|
#: lib/cannery_web/templates/email/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_web/templates/layout/email.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/templates/layout/email.html.heex:13
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Welcome to Cannery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can change your email by visiting the URL below:"
|
msgid "You can change your email by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:14
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:6
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can confirm your account by visiting the URL below:"
|
msgid "You can confirm your account by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:8
|
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:4
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can reset your password by visiting the URL below:"
|
msgid "You can reset your password by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Confirm your Lokal account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:22
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "If you didn't create an account at Lokal, please ignore this."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:16
|
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:16
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "If you didn't request this change from Lokal, please ignore this."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:37
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reset your Lokal password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/email.txt.eex:9
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "This email was sent from Lokal at %{url}, the self-hosted firearm tracker website."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/email.html.heex:13
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "This email was sent from Lokal, the self-hosted firearm tracker website."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:44
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Update your Lokal email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:9
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:4
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Welcome to Lokal"
|
|
||||||
msgstr ""
|
|
||||||
|
@ -10,95 +10,95 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:15
|
#: lib/cannery_web/components/topbar.ex:91
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:43
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||||
#, elixir-autogen, elixir-format
|
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||||
msgid "Change email"
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||||
msgstr ""
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:57
|
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:97
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Change password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:142
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Delete User"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:47
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:42
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Forgot your password?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:91
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:31
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:44
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:45
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:31
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:83
|
#: lib/cannery_web/components/topbar.ex:83
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:28
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:3
|
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:37
|
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:42
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:28
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:39
|
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:29
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:15
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Resend confirmation instructions"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reset password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:15
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Send instructions to reset password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:16
|
#: lib/cannery_web/live/invite_live/index.html.heex:16
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Create Invite"
|
msgid "Create Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:12
|
#: lib/cannery_web/live/invite_live/index.html.heex:12
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite someone new!"
|
msgid "Invite someone new!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:29
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:111
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Change Language"
|
msgid "Change Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:128
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Change email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Change language"
|
msgid "Change language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Change password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Delete User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Forgot your password?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:15
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Resend confirmation instructions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reset password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:15
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Send instructions to reset password"
|
||||||
|
msgstr ""
|
||||||
|
@ -10,293 +10,293 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:20
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:8
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:76
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Confirm new password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:8
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Confirm your account"
|
msgid "Confirm your account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:31
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:9
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:85
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Current password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:9
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Forgot your password?"
|
msgid "Forgot your password?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:42
|
#: lib/cannery_web/components/invite_card.ex:42
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invite Disabled"
|
msgid "Invite Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:44
|
#: lib/cannery_web/components/topbar.ex:44
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:42
|
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:3
|
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invites"
|
msgid "Invites"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:23
|
#: lib/cannery_web/controllers/user_session_controller.ex:8
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Keep me logged in for 60 days"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_session_controller.ex:8
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:16
|
#: lib/cannery_web/controllers/user_registration_controller.ex:32
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:69
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "New password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/live.html.heex:43
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reconnecting..."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:32
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:36
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:36
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Reset your password"
|
msgid "Reset your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:10
|
#: lib/cannery_web/controllers/user_settings_controller.ex:10
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:3
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.ex:15
|
#: lib/cannery_web/live/home_live.ex:15
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:86
|
#: lib/cannery_web/live/invite_live/index.html.heex:86
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Admins"
|
msgid "Admins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:62
|
#: lib/cannery_web/live/invite_live/index.html.heex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:34
|
#: lib/cannery_web/live/invite_live/index.ex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit Invite"
|
msgid "Edit Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:62
|
#: lib/cannery_web/live/invite_live/index.html.heex:62
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:21
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:38
|
#: lib/cannery_web/live/invite_live/index.ex:38
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Invite"
|
msgid "New Invite"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:8
|
#: lib/cannery_web/live/invite_live/index.html.heex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No invites 😔"
|
msgid "No invites 😔"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:77
|
#: lib/cannery_web/live/invite_live/index.html.heex:77
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Set Unlimited"
|
msgid "Set Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:114
|
#: lib/cannery_web/live/invite_live/index.html.heex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:25
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses left"
|
msgid "Uses left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:32
|
#: lib/cannery_web/components/user_card.ex:29
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:123
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "English"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Language"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:29
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email unconfirmed"
|
msgid "Email unconfirmed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:23
|
#: lib/cannery_web/components/topbar.ex:23
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:8
|
#: lib/cannery_web/templates/error/error.html.heex:8
|
||||||
#: lib/lokal_web/templates/layout/root.html.heex:8
|
#: lib/cannery_web/templates/layout/root.html.heex:8
|
||||||
#: lib/lokal_web/templates/layout/root.html.heex:9
|
#: lib/cannery_web/templates/layout/root.html.heex:9
|
||||||
#: lib/lokal_web/views/layout_view.ex:15
|
#: lib/cannery_web/views/layout_view.ex:14
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal"
|
msgid "Cannery"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:34
|
#: lib/cannery_web/components/user_card.ex:34
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "User registered on%{registered_datetime}"
|
msgid "User registered on%{registered_datetime}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/user_card.ex:23
|
#: lib/cannery_web/components/user_card.ex:23
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User was confirmed at%{confirmed_datetime}"
|
msgid "User was confirmed at%{confirmed_datetime}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:37
|
#: lib/cannery_web/components/invite_card.ex:37
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Uses Left: Unlimited"
|
msgid "Uses Left: Unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:37
|
#: lib/cannery_web/live/home_live.html.heex:37
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Access from any internet-capable device"
|
msgid "Access from any internet-capable device"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:51
|
#: lib/cannery_web/live/home_live.html.heex:51
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Admins:"
|
msgid "Admins:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:16
|
#: lib/cannery_web/live/home_live.html.heex:16
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Easy to Use:"
|
msgid "Easy to Use:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:98
|
#: lib/cannery_web/live/home_live.html.heex:98
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Get involved!"
|
msgid "Get involved!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:119
|
#: lib/cannery_web/live/home_live.html.heex:119
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Help translate"
|
msgid "Help translate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:46
|
#: lib/cannery_web/live/home_live.html.heex:46
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Instance Information"
|
msgid "Instance Information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:73
|
#: lib/cannery_web/live/home_live.html.heex:73
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Invite Only"
|
msgid "Invite Only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:72
|
#: lib/cannery_web/live/home_live.html.heex:72
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Public Signups"
|
msgid "Public Signups"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:69
|
#: lib/cannery_web/live/home_live.html.heex:69
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Registration:"
|
msgid "Registration:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:130
|
#: lib/cannery_web/live/home_live.html.heex:130
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Report bugs or request features"
|
msgid "Report bugs or request features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:24
|
#: lib/cannery_web/live/home_live.html.heex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Secure:"
|
msgid "Secure:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:27
|
#: lib/cannery_web/live/home_live.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Self-host your own instance, or use an instance from someone you trust."
|
msgid "Self-host your own instance, or use an instance from someone you trust."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:34
|
#: lib/cannery_web/live/home_live.html.heex:34
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Simple:"
|
msgid "Simple:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:79
|
#: lib/cannery_web/live/home_live.html.heex:79
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Version:"
|
msgid "Version:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:108
|
#: lib/cannery_web/live/home_live.html.heex:108
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View the source code"
|
msgid "View the source code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:28
|
#: lib/cannery_web/live/home_live.html.heex:28
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Your data stays with you, period"
|
msgid "Your data stays with you, period"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:19
|
#: lib/cannery_web/live/home_live.html.heex:19
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal lets you easily shop from your local community"
|
msgid "Cannery lets you easily shop from your local community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:7
|
#: lib/cannery_web/live/home_live.html.heex:7
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Shop from your local community"
|
msgid "Shop from your local community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:3
|
#: lib/cannery_web/live/home_live.html.heex:3
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Welcome to Lokal"
|
msgid "Welcome to Cannery"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/layout_view.ex:11
|
#: lib/cannery_web/views/layout_view.ex:10
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Lokal | %{title}"
|
msgid "Cannery | %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:32
|
#: lib/cannery_web/components/invite_card.ex:32
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Uses Left: %{uses_left_count}"
|
msgid "Uses Left: %{uses_left_count}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/components/invite_card.ex:52
|
#: lib/cannery_web/components/invite_card.ex:52
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Uses: %{uses_count}"
|
msgid "Uses: %{uses_count}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_confirmation/new.html.heex:12
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:20
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||||
#: lib/lokal_web/templates/user_reset_password/new.html.heex:12
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:17
|
msgid "Confirm new password"
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:27
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:24
|
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||||
#: lib/lokal_web/templates/user_session/new.html.heex:20
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "English"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Keep me logged in for 60 days"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:28
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "New password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||||
|
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/layout/live.html.heex:44
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reconnecting..."
|
||||||
|
msgstr ""
|
||||||
|
@ -10,83 +10,83 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:3
|
#: lib/cannery/accounts/email.ex:30
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:2
|
#, elixir-autogen, elixir-format
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:3
|
msgid "Confirm your Cannery account"
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:2
|
msgstr ""
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:3
|
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:2
|
#: lib/cannery/accounts/email.ex:37
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Reset your Cannery password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery/accounts/email.ex:44
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Update your Cannery email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||||
|
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Hi %{email},"
|
msgid "Hi %{email},"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:10
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:10
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "If you didn't create an account at %{url}, please ignore this."
|
msgid "If you didn't create an account at %{url}, please ignore this."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:8
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:8
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:8
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:8
|
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||||
#: lib/lokal_web/templates/email/update_email.txt.eex:4
|
#: lib/cannery_web/templates/email/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_web/templates/layout/email.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/templates/layout/email.html.heex:13
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||||
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Welcome to Cannery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||||
|
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can change your email by visiting the URL below:"
|
msgid "You can change your email by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:14
|
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:6
|
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can confirm your account by visiting the URL below:"
|
msgid "You can confirm your account by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:8
|
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||||
#: lib/lokal_web/templates/email/reset_password.txt.eex:4
|
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You can reset your password by visiting the URL below:"
|
msgid "You can reset your password by visiting the URL below:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:30
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Confirm your Lokal account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:22
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "If you didn't create an account at Lokal, please ignore this."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/reset_password.html.heex:16
|
|
||||||
#: lib/lokal_web/templates/email/update_email.html.heex:16
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "If you didn't request this change from Lokal, please ignore this."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:37
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Reset your Lokal password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/email.txt.eex:9
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "This email was sent from Lokal at %{url}, the self-hosted firearm tracker website."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/layout/email.html.heex:13
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "This email was sent from Lokal, the self-hosted firearm tracker website."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal/accounts/email.ex:44
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Update your Lokal email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.html.heex:9
|
|
||||||
#: lib/lokal_web/templates/email/confirm_email.txt.eex:4
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Welcome to Lokal"
|
|
||||||
msgstr ""
|
|
||||||
|
@ -96,110 +96,110 @@ msgstr ""
|
|||||||
msgid "must be equal to %{number}"
|
msgid "must be equal to %{number}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:84
|
#: lib/cannery_web/controllers/user_settings_controller.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email change link is invalid or it has expired."
|
msgid "Email change link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:8
|
#: lib/cannery_web/views/error_view.ex:10
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Go back home"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:11
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Internal Server Error"
|
msgid "Internal Server Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_session_controller.ex:17
|
#: lib/cannery_web/controllers/user_session_controller.ex:17
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invalid email or password"
|
msgid "Invalid email or password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:9
|
#: lib/cannery_web/views/error_view.ex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Not found"
|
msgid "Not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:13
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:63
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:13
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:22
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:64
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:118
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Oops, something went wrong! Please check the errors below."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:63
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Reset password link is invalid or it has expired."
|
msgid "Reset password link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:22
|
#: lib/cannery_web/controllers/user_registration_controller.ex:22
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:51
|
#: lib/cannery_web/controllers/user_registration_controller.ex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Sorry, public registration is disabled"
|
msgid "Sorry, public registration is disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:12
|
#: lib/cannery_web/controllers/user_registration_controller.ex:12
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:41
|
#: lib/cannery_web/controllers/user_registration_controller.ex:41
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:70
|
#: lib/cannery_web/controllers/user_registration_controller.ex:70
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Sorry, this invite was not found or expired"
|
msgid "Sorry, this invite was not found or expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:99
|
#: lib/cannery_web/controllers/user_settings_controller.ex:99
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Unable to delete user"
|
msgid "Unable to delete user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:10
|
#: lib/cannery_web/views/error_view.ex:9
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Unauthorized"
|
msgid "Unauthorized"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:54
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User confirmation link is invalid or it has expired."
|
msgid "User confirmation link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:177
|
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You are not authorized to view this page."
|
msgid "You are not authorized to view this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:39
|
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:161
|
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You must confirm your account and log in to access this page."
|
msgid "You must confirm your account and log in to access this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:144
|
#: lib/cannery/accounts/user.ex:144
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "did not change"
|
msgid "did not change"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:165
|
#: lib/cannery/accounts/user.ex:165
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "does not match password"
|
msgid "does not match password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:202
|
#: lib/cannery/accounts/user.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "is not valid"
|
msgid "is not valid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:99
|
#: lib/cannery/accounts/user.ex:99
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "must have the @ sign and no spaces"
|
msgid "must have the @ sign and no spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:19
|
#: lib/cannery_web/live/invite_live/index.ex:19
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You are not authorized to view this page"
|
msgid "You are not authorized to view this page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/error/error.html.heex:8
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/error/error.html.heex:29
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Go back home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Oops, something went wrong! Please check the errors below."
|
||||||
|
msgstr ""
|
||||||
|
@ -10,138 +10,138 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:38
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:38
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{email} confirmed successfully."
|
msgid "%{email} confirmed successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:29
|
#: lib/cannery_web/controllers/user_settings_controller.ex:29
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "A link to confirm your email change has been sent to the new address."
|
msgid "A link to confirm your email change has been sent to the new address."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:140
|
#: lib/cannery_web/components/topbar.ex:59
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Are you sure you want to delete your account?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/components/topbar.ex:59
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to log out?"
|
msgid "Are you sure you want to log out?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:77
|
#: lib/cannery_web/controllers/user_settings_controller.ex:77
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email changed successfully."
|
msgid "Email changed successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:23
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:23
|
||||||
#, elixir-autogen, elixir-format
|
#, 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."
|
msgid "If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:24
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:24
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "If your email is in our system, you will receive instructions to reset your password shortly."
|
msgid "If your email is in our system, you will receive instructions to reset your password shortly."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_session_controller.ex:23
|
#: lib/cannery_web/controllers/user_session_controller.ex:23
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Logged out successfully."
|
msgid "Logged out successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:46
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:46
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Password reset successfully."
|
msgid "Password reset successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:49
|
#: lib/cannery_web/controllers/user_settings_controller.ex:49
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Password updated successfully."
|
msgid "Password updated successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:65
|
#: lib/cannery_web/controllers/user_registration_controller.ex:65
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Please check your email to verify your account"
|
msgid "Please check your email to verify your account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:95
|
#: lib/cannery_web/controllers/user_settings_controller.ex:95
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Your account has been deleted"
|
msgid "Your account has been deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:97
|
#: lib/cannery_web/live/invite_live/index.html.heex:97
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:125
|
#: lib/cannery_web/live/invite_live/index.html.heex:125
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:128
|
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Copied to clipboard"
|
msgid "Copied to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.html.heex:31
|
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Saving..."
|
msgid "Saving..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:130
|
#: lib/cannery_web/controllers/user_settings_controller.ex:65
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Are you sure you want to change your language?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:65
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Language updated successfully."
|
msgid "Language updated successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:54
|
#: lib/cannery_web/live/invite_live/index.ex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{invite_name} deleted succesfully"
|
msgid "%{invite_name} deleted succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:115
|
#: lib/cannery_web/live/invite_live/index.ex:115
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{invite_name} disabled succesfully"
|
msgid "%{invite_name} disabled succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:91
|
#: lib/cannery_web/live/invite_live/index.ex:91
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{invite_name} enabled succesfully"
|
msgid "%{invite_name} enabled succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:69
|
#: lib/cannery_web/live/invite_live/index.ex:69
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{invite_name} updated succesfully"
|
msgid "%{invite_name} updated succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:140
|
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{user_email} deleted succesfully"
|
msgid "%{user_email} deleted succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:47
|
#: lib/cannery_web/live/invite_live/index.html.heex:47
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.html.heex:72
|
#: lib/cannery_web/live/invite_live/index.html.heex:72
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/home_live.html.heex:56
|
#: lib/cannery_web/live/home_live.html.heex:56
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Register to setup Lokal"
|
msgid "Register to setup Cannery"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.ex:80
|
#: lib/cannery_web/live/invite_live/form_component.ex:80
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "%{name} created successfully"
|
msgid "%{name} created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/form_component.ex:62
|
#: lib/cannery_web/live/invite_live/form_component.ex:62
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "%{name} updated successfully"
|
msgid "%{name} updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Are you sure you want to change your language?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:140
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Are you sure you want to delete your account?"
|
||||||
|
msgstr ""
|
||||||
|
@ -93,110 +93,110 @@ msgstr ""
|
|||||||
msgid "must be equal to %{number}"
|
msgid "must be equal to %{number}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:84
|
#: lib/cannery_web/controllers/user_settings_controller.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Email change link is invalid or it has expired."
|
msgid "Email change link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:8
|
#: lib/cannery_web/views/error_view.ex:10
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/templates/error/error.html.heex:28
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Go back home"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:11
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Internal Server Error"
|
msgid "Internal Server Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_session_controller.ex:17
|
#: lib/cannery_web/controllers/user_session_controller.ex:17
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Invalid email or password"
|
msgid "Invalid email or password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:9
|
#: lib/cannery_web/views/error_view.ex:8
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Not found"
|
msgid "Not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/templates/user_registration/new.html.heex:13
|
#: lib/cannery_web/controllers/user_reset_password_controller.ex:63
|
||||||
#: lib/lokal_web/templates/user_reset_password/edit.html.heex:13
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:22
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:64
|
|
||||||
#: lib/lokal_web/templates/user_settings/edit.html.heex:118
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Oops, something went wrong! Please check the errors below."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_reset_password_controller.ex:63
|
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Reset password link is invalid or it has expired."
|
msgid "Reset password link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:22
|
#: lib/cannery_web/controllers/user_registration_controller.ex:22
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:51
|
#: lib/cannery_web/controllers/user_registration_controller.ex:51
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Sorry, public registration is disabled"
|
msgid "Sorry, public registration is disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:12
|
#: lib/cannery_web/controllers/user_registration_controller.ex:12
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:41
|
#: lib/cannery_web/controllers/user_registration_controller.ex:41
|
||||||
#: lib/lokal_web/controllers/user_registration_controller.ex:70
|
#: lib/cannery_web/controllers/user_registration_controller.ex:70
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Sorry, this invite was not found or expired"
|
msgid "Sorry, this invite was not found or expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_settings_controller.ex:99
|
#: lib/cannery_web/controllers/user_settings_controller.ex:99
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Unable to delete user"
|
msgid "Unable to delete user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/views/error_view.ex:10
|
#: lib/cannery_web/views/error_view.ex:9
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Unauthorized"
|
msgid "Unauthorized"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_confirmation_controller.ex:54
|
#: lib/cannery_web/controllers/user_confirmation_controller.ex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "User confirmation link is invalid or it has expired."
|
msgid "User confirmation link is invalid or it has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:177
|
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You are not authorized to view this page."
|
msgid "You are not authorized to view this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:39
|
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||||
#: lib/lokal_web/controllers/user_auth.ex:161
|
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You must confirm your account and log in to access this page."
|
msgid "You must confirm your account and log in to access this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:144
|
#: lib/cannery/accounts/user.ex:144
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "did not change"
|
msgid "did not change"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:165
|
#: lib/cannery/accounts/user.ex:165
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "does not match password"
|
msgid "does not match password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:202
|
#: lib/cannery/accounts/user.ex:202
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "is not valid"
|
msgid "is not valid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal/accounts/user.ex:99
|
#: lib/cannery/accounts/user.ex:99
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "must have the @ sign and no spaces"
|
msgid "must have the @ sign and no spaces"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/lokal_web/live/invite_live/index.ex:19
|
#: lib/cannery_web/live/invite_live/index.ex:19
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "You are not authorized to view this page"
|
msgid "You are not authorized to view this page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/error/error.html.heex:8
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/error/error.html.heex:29
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Go back home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||||
|
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||||
|
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Oops, something went wrong! Please check the errors below."
|
||||||
|
msgstr ""
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user