Unified settings modal + dashboard shell redesign #69

Merged
uz1mani merged 107 commits from staging into main 2026-03-26 09:15:33 +00:00
32 changed files with 2555 additions and 252 deletions
Showing only changes of commit f3d72c9841 - Show all commits

View File

@@ -11,7 +11,7 @@ const Sidebar = dynamic(() => import('./Sidebar'), {
// so page content never occupies the sidebar zone // so page content never occupies the sidebar zone
loading: () => ( loading: () => (
<div <div
className="hidden md:block shrink-0 bg-neutral-950 overflow-hidden relative" className="hidden md:block shrink-0 bg-transparent overflow-hidden relative"
style={{ width: 64 }} style={{ width: 64 }}
> >
<div className="absolute inset-0 bg-gradient-to-r from-transparent via-neutral-800/10 to-transparent animate-shimmer" /> <div className="absolute inset-0 bg-gradient-to-r from-transparent via-neutral-800/10 to-transparent animate-shimmer" />
@@ -31,7 +31,7 @@ export default function DashboardShell({
const openMobile = useCallback(() => setMobileOpen(true), []) const openMobile = useCallback(() => setMobileOpen(true), [])
return ( return (
<div className="flex h-screen overflow-hidden bg-neutral-950"> <div className="flex h-screen overflow-hidden bg-neutral-900/65 backdrop-blur-3xl backdrop-saturate-150 supports-[backdrop-filter]:bg-neutral-900/60">
<Sidebar <Sidebar
siteId={siteId} siteId={siteId}
mobileOpen={mobileOpen} mobileOpen={mobileOpen}

View File

@@ -558,7 +558,7 @@ export default function Sidebar({
<> <>
{/* Desktop — ssr:false means this only renders on client, no hydration flash */} {/* Desktop — ssr:false means this only renders on client, no hydration flash */}
<aside <aside
className="hidden md:flex flex-col shrink-0 bg-neutral-900/65 backdrop-blur-3xl backdrop-saturate-150 supports-[backdrop-filter]:bg-neutral-900/60 overflow-hidden relative z-10" className="hidden md:flex flex-col shrink-0 bg-transparent overflow-hidden relative z-10"
style={{ width: collapsed ? COLLAPSED : EXPANDED, transition: 'width 200ms cubic-bezier(0.4, 0, 0.2, 1)' }} style={{ width: collapsed ? COLLAPSED : EXPANDED, transition: 'width 200ms cubic-bezier(0.4, 0, 0.2, 1)' }}
onTransitionEnd={(e) => { onTransitionEnd={(e) => {
if (e.propertyName === 'width' && pickerOpenCallbackRef.current) { if (e.propertyName === 'width' && pickerOpenCallbackRef.current) {