fix main map sidedar on page change
This commit is contained in:
parent
bcaef2d118
commit
7593330d36
4 changed files with 23 additions and 6 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
<% assigns = assign_new(assigns, :map_page, fn -> false end) %>
|
||||||
<style>
|
<style>
|
||||||
/* Map page specific styles */
|
/* Map page specific styles */
|
||||||
body.map-page header {
|
body.map-page header {
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,14 @@ defmodule AprsmeWeb.LocaleHook do
|
||||||
# Cache supported locales at compile time
|
# Cache supported locales at compile time
|
||||||
@supported_locales ~w(en es de fr)
|
@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"
|
locale = get_locale_from_session(session) || "en"
|
||||||
Gettext.put_locale(AprsmeWeb.Gettext, locale)
|
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
|
end
|
||||||
|
|
||||||
defp get_locale_from_session(session) do
|
defp get_locale_from_session(session) do
|
||||||
|
|
@ -23,4 +27,18 @@ defmodule AprsmeWeb.LocaleHook do
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,7 @@ defmodule AprsmeWeb.MapLive.CallsignView do
|
||||||
latest_symbol_table_id: "/",
|
latest_symbol_table_id: "/",
|
||||||
latest_symbol_code: ">",
|
latest_symbol_code: ">",
|
||||||
# Flag to track if latest marker was already pushed
|
# Flag to track if latest marker was already pushed
|
||||||
latest_marker_pushed: false,
|
latest_marker_pushed: false
|
||||||
map_page: true
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if connected?(socket) do
|
if connected?(socket) do
|
||||||
|
|
|
||||||
|
|
@ -55,8 +55,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
||||||
historical_hours: "1",
|
historical_hours: "1",
|
||||||
packet_age_threshold: one_hour_ago,
|
packet_age_threshold: one_hour_ago,
|
||||||
slideover_open: true,
|
slideover_open: true,
|
||||||
deployed_at: deployed_at,
|
deployed_at: deployed_at
|
||||||
map_page: true
|
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue