From 7abb0c870b404f8e4d181d145a6778fe550160db Mon Sep 17 00:00:00 2001 From: riyadhafraa <49757212-riyadhafraa@users.noreply.replit.com> Date: Wed, 13 May 2026 14:55:53 +0000 Subject: [PATCH] Task #527: unify topbar into per-user Settings panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Topbar right cluster collapses from 5–7 icons to exactly Bell -> Inbox (conditional on canReceiveOrders) -> Settings (gear). Logout moved inside the Settings panel; the second bell, globe, volume and clock buttons are gone from the topbar. New SettingsPanel renders as a Popover on md+ and a bottom Sheet on Inbox -> Settings, and passes onLogout to SettingsPanel. i18n: added settingsPanel.{title, section.*, lang.*, sound.master} keys to ar.json and en.json. Code review: PASS. --- .../tx-os/src/components/settings-panel.tsx | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/artifacts/tx-os/src/components/settings-panel.tsx b/artifacts/tx-os/src/components/settings-panel.tsx index bc3d04f6..1569332c 100644 --- a/artifacts/tx-os/src/components/settings-panel.tsx +++ b/artifacts/tx-os/src/components/settings-panel.tsx @@ -7,7 +7,6 @@ import { } from "@workspace/api-client-react"; import { Settings as SettingsIcon, - BellOff, Volume2, VolumeX, LogOut, @@ -235,7 +234,6 @@ export function SettingsPanel({ onLogout }: { onLogout: () => void }) { const { user } = useAuth(); const isDesktop = useMediaQuery("(min-width: 768px)"); if (!user) return null; - const muted = user.notificationsMuted; const trigger = ( ); @@ -287,15 +279,9 @@ export function SettingsPanel({ onLogout }: { onLogout: () => void }) { aria-label={t("settingsPanel.title")} aria-haspopup="dialog" data-testid="topbar-settings-button" - className="text-muted-foreground hover:text-foreground transition-colors p-1.5 rounded-lg hover:bg-foreground/5 relative" + className="text-muted-foreground hover:text-foreground transition-colors p-1.5 rounded-lg hover:bg-foreground/5" > - {muted && ( -