feat(insights): sidebar en mode overlay sur /insights — pleine largeur
AGENTS.md: 'pas la liste carnets sur /insights' - sidebar.tsx: isImmersiveRoute sur /insights → fixed overlay au lieu de relative - Toutes tailles d'écran: sidebar caché par défaut, s'ouvre en drawer - Bouton hamburger visible sur desktop + mobile (pas lg:hidden) - Insights prend 100% de la largeur → graphe + dashboard plus spacious
This commit is contained in:
@@ -297,7 +297,7 @@ export default function InsightsPage() {
|
||||
<div className="p-6 sm:p-8 border-b border-border/20 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between sticky top-0 bg-[#F9F8F6]/80 dark:bg-[#0D0D0D]/80 backdrop-blur-md z-30 shrink-0">
|
||||
<div className="flex items-center gap-4">
|
||||
<button
|
||||
className="lg:hidden p-2 -ms-1 text-foreground hover:bg-foreground/5 rounded-lg transition-colors shrink-0 cursor-pointer focus-visible:ring-2 focus-visible:ring-ochre/50 focus-visible:outline-none"
|
||||
className="p-2 -ms-1 text-foreground hover:bg-foreground/5 rounded-lg transition-colors shrink-0 cursor-pointer focus-visible:ring-2 focus-visible:ring-ochre/50 focus-visible:outline-none"
|
||||
onClick={() => window.dispatchEvent(new CustomEvent('open-mobile-sidebar'))}
|
||||
aria-label={t('sidebar.openNavigation') || 'Open navigation'}
|
||||
>
|
||||
|
||||
@@ -702,6 +702,7 @@ export function Sidebar({ className, user }: { className?: string; user?: any })
|
||||
|
||||
const isRemindersRoute = pathname === '/home' && searchParams.get('reminders') === '1'
|
||||
const isSharedRoute = pathname === '/home' && searchParams.get('shared') === '1'
|
||||
const isImmersiveRoute = pathname === '/insights'
|
||||
const isNotebooksRoute =
|
||||
(pathname === '/home' || pathname.startsWith('/notes')) &&
|
||||
!pathname.startsWith('/settings') &&
|
||||
@@ -1157,11 +1158,16 @@ export function Sidebar({ className, user }: { className?: string; user?: any })
|
||||
|
||||
<aside
|
||||
className={cn(
|
||||
// Mobile: fixed overlay, slide in/out
|
||||
'fixed inset-y-0 start-0 z-[70] md:relative md:z-auto',
|
||||
// Sur /insights : sidebar en overlay (toutes tailles d'écran)
|
||||
// Ailleurs : overlay sur mobile, relative sur desktop
|
||||
isImmersiveRoute
|
||||
? 'fixed inset-y-0 start-0 z-[70]'
|
||||
: 'fixed inset-y-0 start-0 z-[70] md:relative md:z-auto',
|
||||
'h-full min-h-0 w-80 xl:w-[22rem] 2xl:w-[26rem] shrink-0 flex flex-row overflow-hidden',
|
||||
'transition-transform duration-300 ease-in-out',
|
||||
isMobileOpen ? 'translate-x-0 shadow-2xl' : '-translate-x-full md:translate-x-0',
|
||||
isImmersiveRoute
|
||||
? (isMobileOpen ? 'translate-x-0 shadow-2xl' : '-translate-x-full')
|
||||
: (isMobileOpen ? 'translate-x-0 shadow-2xl' : '-translate-x-full md:translate-x-0'),
|
||||
'border-e border-border/40 bg-white/95 md:bg-white/30 backdrop-blur-md sidebar-shadow dark:border-white/6 dark:bg-[#151515] dark:backdrop-blur-none',
|
||||
className
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user