From f2050efe2d3b00b484dfcf9b03593f7eb4fc87ae Mon Sep 17 00:00:00 2001 From: Kyle Pope Date: Wed, 11 Mar 2026 14:58:28 +0800 Subject: [PATCH] Redesign Settings page with tab-based layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 895-line monolith with 5 focused tab components (Profile, Appearance, Social, Security, Integrations) mirroring AdminPortal's tab pattern. URL deep linking via ?tab= search param. Conditional rendering prevents unmounted tabs from firing API calls. Reviewed by senior-code-reviewer, senior-ui-designer, and security-penetration-tester agents — all findings actioned. Co-Authored-By: Claude Opus 4.6 --- frontend/src/components/admin/AdminPortal.tsx | 2 +- .../src/components/settings/AppearanceTab.tsx | 180 ++++ .../components/settings/IntegrationsTab.tsx | 182 ++++ .../src/components/settings/ProfileTab.tsx | 269 +++++ .../src/components/settings/SecurityTab.tsx | 93 ++ .../src/components/settings/SettingsPage.tsx | 944 ++---------------- .../src/components/settings/SocialTab.tsx | 177 ++++ .../components/settings/TotpSetupSection.tsx | 55 +- 8 files changed, 1015 insertions(+), 887 deletions(-) create mode 100644 frontend/src/components/settings/AppearanceTab.tsx create mode 100644 frontend/src/components/settings/IntegrationsTab.tsx create mode 100644 frontend/src/components/settings/ProfileTab.tsx create mode 100644 frontend/src/components/settings/SecurityTab.tsx create mode 100644 frontend/src/components/settings/SocialTab.tsx diff --git a/frontend/src/components/admin/AdminPortal.tsx b/frontend/src/components/admin/AdminPortal.tsx index 6ad509a..195fd71 100644 --- a/frontend/src/components/admin/AdminPortal.tsx +++ b/frontend/src/components/admin/AdminPortal.tsx @@ -30,7 +30,7 @@ export default function AdminPortal() { {/* Horizontal tab navigation — evenly spaced on mobile, left-aligned on desktop */} -