fix: added SetLocale to update LiveViews if language changes

This commit is contained in:
carla 2025-07-16 15:21:57 +02:00
parent f485f7bd8f
commit df51731ae8
2 changed files with 14 additions and 1 deletions

View file

@ -0,0 +1,13 @@
defmodule MvWeb.Live.SetLocale do
@moduledoc """
The Module to make the locale available to all LiveViews
"""
import Phoenix.Component
import MvWeb.Gettext
def on_mount(:default, _params, session, socket) do
locale = session["locale"] || "en"
Gettext.put_locale(locale)
{:cont, assign(socket, :locale, locale)}
end
end

View file

@ -46,7 +46,7 @@ defmodule MvWeb.Router do
AshAuthentication-specific: We define that all routes can only be accessed when the user is signed in.
"""
ash_authentication_live_session :authentication_required,
on_mount: {MvWeb.LiveUserAuth, :live_user_required} do
on_mount: [{MvWeb.Live.SetLocale, :default}, {MvWeb.LiveUserAuth, :live_user_required}] do
get "/", PageController, :home
live "/members", MemberLive.Index, :index