From 033acff0e6bae9a9a7c9b9861daedb53bfeab0d7 Mon Sep 17 00:00:00 2001 From: Owais Jamil Date: Sun, 21 Jun 2026 11:50:25 -0500 Subject: [PATCH] feat: shared taskbar and session bridging --- TODO.md | 2 + assets/css/components/shell.css | 10 ++-- lib/tempest_web/components/core_components.ex | 6 +-- lib/tempest_web/components/layouts.ex | 46 +++++++++++-------- .../controllers/account_session_controller.ex | 15 ++++++ .../controllers/admin_session_controller.ex | 3 ++ lib/tempest_web/live/account_control_live.ex | 26 +++++++++-- lib/tempest_web/live/admin_control_live.ex | 26 +++++++++-- lib/tempest_web/plugs/account_browser_auth.ex | 22 +++++++++ .../controllers/admin_controller_test.exs | 24 ++++++++++ .../operator_account_controller_test.exs | 42 +++++++++++++++++ .../live/account_control_live_test.exs | 8 +++- .../live/admin_control_live_test.exs | 5 +- 13 files changed, 195 insertions(+), 40 deletions(-) diff --git a/TODO.md b/TODO.md index 172f887..4ec680e 100644 --- a/TODO.md +++ b/TODO.md @@ -1 +1,3 @@ # Parking Lot (TODO) + +- Improve external admin DID login UX: when `TEMPEST_ADMIN_DID` is not hosted locally, `/admin/login` currently asks for a pasted OAuth access token. Add a browser-driven OAuth authorization flow so external admins can sign in without manually obtaining a token. diff --git a/assets/css/components/shell.css b/assets/css/components/shell.css index 23dae84..70138e0 100644 --- a/assets/css/components/shell.css +++ b/assets/css/components/shell.css @@ -13,6 +13,10 @@ padding-block-start: calc(2.7rem + clamp(0.75rem, 2vw, 1.35rem)); } +.operator-account { + padding-block-start: calc(2.7rem + clamp(0.75rem, 2vw, 1.35rem)); +} + .tempest-home__desktop, .operator-account__desktop { display: grid; @@ -813,12 +817,6 @@ color: var(--danger); } -.operator-account__nav .operator-account__home-link { - margin-inline-start: auto; - padding-inline-start: var(--space-3); - border-inline-start: 1px dotted var(--accent); -} - .taskbar { position: fixed; inset-inline: 0; diff --git a/lib/tempest_web/components/core_components.ex b/lib/tempest_web/components/core_components.ex index 817336e..cce4d0c 100644 --- a/lib/tempest_web/components/core_components.ex +++ b/lib/tempest_web/components/core_components.ex @@ -88,15 +88,15 @@ defmodule TempestWeb.CoreComponents do def taskbar(assigns) do ~H"""