From 9d667ac162697d59eacc8f7fdc3d5c242009fd03 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sun, 18 Jan 2026 12:46:27 -0600 Subject: [PATCH] fix: use Map.get for timezone in layouts to handle missing assigns --- lib/towerops_web/components/layouts.ex | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/towerops_web/components/layouts.ex b/lib/towerops_web/components/layouts.ex index 58575787..7174ce34 100644 --- a/lib/towerops_web/components/layouts.ex +++ b/lib/towerops_web/components/layouts.ex @@ -31,6 +31,8 @@ defmodule ToweropsWeb.Layouts do default: nil, doc: "the current [scope](https://hexdocs.pm/phoenix/scopes.html)" + attr :timezone, :string, default: "UTC", doc: "the user's timezone" + slot :inner_block, required: true def app(assigns) do @@ -68,7 +70,7 @@ defmodule ToweropsWeb.Layouts do - <.footer timezone={@timezone} /> + <.footer timezone={Map.get(assigns, :timezone, "UTC")} /> <.flash_group flash={@flash} /> @@ -101,6 +103,8 @@ defmodule ToweropsWeb.Layouts do default: nil, doc: "the currently active page (dashboard, sites, device, or alerts)" + attr :timezone, :string, default: "UTC", doc: "the user's timezone" + slot :inner_block, required: true def authenticated(assigns) do @@ -252,7 +256,7 @@ defmodule ToweropsWeb.Layouts do - <.footer timezone={@timezone} /> + <.footer timezone={Map.get(assigns, :timezone, "UTC")} /> <.flash_group flash={@flash} /> @@ -375,6 +379,8 @@ defmodule ToweropsWeb.Layouts do """ attr :flash, :map, required: true, doc: "the map of flash messages" + attr :timezone, :string, default: "UTC", doc: "the user's timezone" + slot :inner_block, required: true def admin(assigns) do @@ -423,7 +429,7 @@ defmodule ToweropsWeb.Layouts do - <.footer timezone={@timezone} /> + <.footer timezone={Map.get(assigns, :timezone, "UTC")} /> <.flash_group flash={@flash} />