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