Resolve timezone from user browser

This commit is contained in:
Claudio Ortolina
2025-09-11 22:14:15 +03:00
parent c67fd27ea1
commit 21783f5dbf
9 changed files with 23 additions and 10 deletions
@@ -0,0 +1,10 @@
defmodule MusicLibraryWeb.Hooks.GetTimezone do
use MusicLibraryWeb, :live_component
def on_mount(:default, _params, _session, socket) do
connect_params = get_connect_params(socket)
timezone = connect_params["timezone"] || MusicLibrary.default_timezone()
{:cont, assign(socket, :timezone, timezone)}
end
end
@@ -25,7 +25,6 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
{:ok,
socket
|> assign(:current_section, :collection)
|> assign(:timezone, MusicLibrary.timezone())
|> assign(:can_scrobble?, ScrobbleActivity.can_scrobble?())
|> assign(:release_with_tracks, nil)}
end
@@ -23,7 +23,6 @@ defmodule MusicLibraryWeb.StatsLive.Index do
{:ok,
socket
|> assign(:timezone, MusicLibrary.timezone())
|> stream_configure(:recent_tracks,
dom_id: fn track -> "track-#{track.scrobbled_at_uts}" end
)
+1 -1
View File
@@ -40,7 +40,7 @@ defmodule MusicLibraryWeb.Router do
get "/artists/:musicbrainz_id/image", ArtistController, :image
live_session :default,
on_mount: MusicLibraryWeb.Hooks.StaticAssets do
on_mount: [MusicLibraryWeb.Hooks.StaticAssets, MusicLibraryWeb.Hooks.GetTimezone] do
live "/", StatsLive.Index, :index
live "/collection", CollectionLive.Index, :index