Files
Claper/config/config.exs
Alex Lion 5bd4793b6e Version 2.4.0
## ⚠️ Breaking changes

- S3 variables are now named: S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_REGION and S3_BUCKET
- Users now have roles. Refer to the `roles` table and assign a role to a user with the `role_id` column in the `users` table.

## Features

- Add Admin Panel to manage users and presentations
- Add user roles: user, admin
- Add `LANGUAGES` setting to configure available languages in the app
- Add hideable presenter attendee count (#183 #155)
- Add Hungarian translation (#161)
- Add Latvian translation (#163)
- Add custom S3 endpoint with `S3_SCHEME`, `S3_HOST`, `S3_PORT` and `S3_PUBLIC_URL`

## Fixes and improvements

- Upgrade JS dependencies
- Upgrade Elixir dependencies, including Phoenix Live View to 1.0.17
- Upgrade to Tailwind 4+
- Refactor view templates to use {} instead of <%= %>
- Fix event name validation to be required
- Docker image is now using Ubuntu instead of Alpine for better dependencies support
- Fix scrollbar not showing in event manager when no presentation file (#164) (@aryel780)
- Fix settings scroll for small screen (#168)
- Fix duplicate key quiz when duplicate (#182)
- Fix email change confirmation (#172)
- Fix italian translation (#179)
- Fix random poll choices (#184)
2025-12-26 14:46:16 +01:00

81 lines
2.2 KiB
Elixir

# This file is responsible for configuring your application
# and its dependencies with the aid of the Config module.
#
# This configuration file is loaded before any dependency and
# is restricted to this project.
# General application configuration
import Config
config :claper,
ecto_repos: [Claper.Repo]
# Configures the endpoint
config :claper, ClaperWeb.Endpoint,
render_errors: [view: ClaperWeb.ErrorView, accepts: ~w(html json), layout: false],
pubsub_server: Claper.PubSub,
live_view: [signing_salt: "DN0vwriJgVkHG0kn3hF5JKho/DE66onv"]
config :claper, ClaperWeb.Gettext,
default_locale: "en",
locales: ~w(fr en de es nl)
config :claper, Oban,
engine: Oban.Engines.Basic,
queues: [default: 10, mailers: 20],
repo: Claper.Repo,
plugins: [
{Oban.Plugins.Pruner, max_age: 60 * 60 * 24 * 7},
{Oban.Plugins.Lifeline, rescue_after: :timer.minutes(30)}
]
config :dart_sass,
version: "1.61.0",
default: [
args: ~w(css/custom.scss ../priv/static/assets/custom.css),
cd: Path.expand("../assets", __DIR__)
]
config :tailwind,
version: "4.1.10",
default: [
args: ~w(
--input=assets/css/app.css
--output=priv/static/assets/app.css
),
cd: Path.expand("..", __DIR__)
],
admin: [
args: ~w(
--input=assets/css/admin.css
--output=priv/static/assets/admin.css
),
cd: Path.expand("..", __DIR__)
]
# Configure esbuild (the version is required)
config :esbuild,
version: "0.25.5",
default: [
args:
~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
cd: Path.expand("../assets", __DIR__),
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
]
# Configures Elixir's Logger
config :logger, :console,
format: "$time $metadata[$level] $message\n",
metadata: [:request_id]
# Use Jason for JSON parsing in Phoenix
config :phoenix, :json_library, Jason
config :porcelain, driver: Porcelain.Driver.Basic
config :claper, :storage_dir, System.get_env("PRESENTATION_STORAGE_DIR", "priv/static")
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
import_config "#{config_env()}.exs"