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="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">
|
<div className="flex items-center gap-4">
|
||||||
<button
|
<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'))}
|
onClick={() => window.dispatchEvent(new CustomEvent('open-mobile-sidebar'))}
|
||||||
aria-label={t('sidebar.openNavigation') || 'Open navigation'}
|
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 isRemindersRoute = pathname === '/home' && searchParams.get('reminders') === '1'
|
||||||
const isSharedRoute = pathname === '/home' && searchParams.get('shared') === '1'
|
const isSharedRoute = pathname === '/home' && searchParams.get('shared') === '1'
|
||||||
|
const isImmersiveRoute = pathname === '/insights'
|
||||||
const isNotebooksRoute =
|
const isNotebooksRoute =
|
||||||
(pathname === '/home' || pathname.startsWith('/notes')) &&
|
(pathname === '/home' || pathname.startsWith('/notes')) &&
|
||||||
!pathname.startsWith('/settings') &&
|
!pathname.startsWith('/settings') &&
|
||||||
@@ -1157,11 +1158,16 @@ export function Sidebar({ className, user }: { className?: string; user?: any })
|
|||||||
|
|
||||||
<aside
|
<aside
|
||||||
className={cn(
|
className={cn(
|
||||||
// Mobile: fixed overlay, slide in/out
|
// Sur /insights : sidebar en overlay (toutes tailles d'écran)
|
||||||
'fixed inset-y-0 start-0 z-[70] md:relative md:z-auto',
|
// 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',
|
'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',
|
'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',
|
'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
|
className
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user