Legacy settings removal, performance improvements, modal polish #70

Merged
uz1mani merged 14 commits from staging into main 2026-03-26 11:04:48 +00:00
uz1mani commented 2026-03-26 11:04:19 +00:00 (Migrated from github.com)

Summary

  • Replaced legacy settings pages with redirect handlers, deleted 4,300+ lines
  • All settings entry points wired to unified modal — zero page navigations
  • Dashboard chart performance fix — lazy-loaded with reduced animation
  • Settings modal widened, context switcher animation, tab switching optimized

Changes

Legacy Settings Removal

  • /sites/:id/settings → redirect handler for GSC OAuth callback + ?tab= deep links
  • /org-settings → redirect handler using router.back() to stay on current page
  • Deleted OrganizationSettings.tsx, SettingsModalWrapper.tsx, settings-modal-context.tsx
  • Removed SettingsModalProvider from layout
  • All sidebar/page links replaced with openUnifiedSettings() calls

Settings Modal Polish

  • Widened to max-w-4xl (896px) and 90vh height
  • Sliding background animation on context switcher (Site/Organization/Account)
  • Respects requested context — opening Account from a site page no longer overrides to Site
  • Clicking outside modal now closes it (backdrop click fix)

Performance

  • Lazy-loaded all 15 settings tabs via next/dynamic
  • Cached listSites() — only fetches on first open
  • Removed mode="wait" from tab switching — instant tab changes
  • Dashboard chart lazy-loaded via dynamic({ ssr: false })
  • Chart animation reduced from 1100ms to 400ms — eliminates page freeze

Dependencies

  • Bumped @ciphera-net/ui to 0.3.3 (adds onOpenOrgSettings callback to UserMenu)

Test Plan

  • Comma hotkey opens/closes settings on all pages
  • Organization Settings in UserMenu stays on current page (no navigation)
  • Account settings opens to Account context (not Site) from site pages
  • Click outside modal closes it
  • Context switcher background slides between tabs
  • /sites/:id/settings?gsc=connected shows toast + opens Integrations tab
  • /org-settings?tab=billing goes back + opens Billing tab
  • Dashboard chart loads without page freeze
  • Tab switching is instant (no animation delay)
## Summary - Replaced legacy settings pages with redirect handlers, deleted 4,300+ lines - All settings entry points wired to unified modal — zero page navigations - Dashboard chart performance fix — lazy-loaded with reduced animation - Settings modal widened, context switcher animation, tab switching optimized ## Changes ### Legacy Settings Removal - `/sites/:id/settings` → redirect handler for GSC OAuth callback + `?tab=` deep links - `/org-settings` → redirect handler using `router.back()` to stay on current page - Deleted `OrganizationSettings.tsx`, `SettingsModalWrapper.tsx`, `settings-modal-context.tsx` - Removed `SettingsModalProvider` from layout - All sidebar/page links replaced with `openUnifiedSettings()` calls ### Settings Modal Polish - Widened to `max-w-4xl` (896px) and `90vh` height - Sliding background animation on context switcher (Site/Organization/Account) - Respects requested context — opening Account from a site page no longer overrides to Site - Clicking outside modal now closes it (backdrop click fix) ### Performance - Lazy-loaded all 15 settings tabs via `next/dynamic` - Cached `listSites()` — only fetches on first open - Removed `mode="wait"` from tab switching — instant tab changes - Dashboard chart lazy-loaded via `dynamic({ ssr: false })` - Chart animation reduced from 1100ms to 400ms — eliminates page freeze ### Dependencies - Bumped `@ciphera-net/ui` to 0.3.3 (adds `onOpenOrgSettings` callback to UserMenu) ## Test Plan - [x] Comma hotkey opens/closes settings on all pages - [x] Organization Settings in UserMenu stays on current page (no navigation) - [x] Account settings opens to Account context (not Site) from site pages - [x] Click outside modal closes it - [x] Context switcher background slides between tabs - [x] `/sites/:id/settings?gsc=connected` shows toast + opens Integrations tab - [x] `/org-settings?tab=billing` goes back + opens Billing tab - [x] Dashboard chart loads without page freeze - [x] Tab switching is instant (no animation delay)
Sign in to join this conversation.
No description provided.