fix main map sidedar on page change

This commit is contained in:
Graham McIntire 2025-07-08 10:31:46 -05:00
parent bcaef2d118
commit 7593330d36
No known key found for this signature in database
4 changed files with 23 additions and 6 deletions

View file

@ -1,3 +1,4 @@
<% assigns = assign_new(assigns, :map_page, fn -> false end) %>
<style>
/* Map page specific styles */
body.map-page header {

View file

@ -8,10 +8,14 @@ defmodule AprsmeWeb.LocaleHook do
# Cache supported locales at compile time
@supported_locales ~w(en es de fr)
def on_mount(:set_locale, _params, session, socket) do
def on_mount(:set_locale, params, session, socket) do
locale = get_locale_from_session(session) || "en"
Gettext.put_locale(AprsmeWeb.Gettext, locale)
{:cont, assign(socket, locale: locale)}
# Set map_page assign based on route
map_page = is_map_page?(params)
{:cont, assign(socket, locale: locale, map_page: map_page)}
end
defp get_locale_from_session(session) do
@ -23,4 +27,18 @@ defmodule AprsmeWeb.LocaleHook do
nil
end
end
defp is_map_page?(%{"callsign" => callsign}) when map_size(%{"callsign" => callsign}) == 1 do
# Root callsign route (e.g., /:callsign) is a map page
true
end
defp is_map_page?(%{}) do
# Root route (/) is a map page
true
end
defp is_map_page?(_) do
false
end
end

View file

@ -61,8 +61,7 @@ defmodule AprsmeWeb.MapLive.CallsignView do
latest_symbol_table_id: "/",
latest_symbol_code: ">",
# Flag to track if latest marker was already pushed
latest_marker_pushed: false,
map_page: true
latest_marker_pushed: false
)
if connected?(socket) do

View file

@ -55,8 +55,7 @@ defmodule AprsmeWeb.MapLive.Index do
historical_hours: "1",
packet_age_threshold: one_hour_ago,
slideover_open: true,
deployed_at: deployed_at,
map_page: true
deployed_at: deployed_at
)}
end