fix(ui): revert resize panel + auto-hide meta sidebar when AI opens

This commit is contained in:
2026-05-03 01:13:45 +02:00
parent 82db722735
commit 88ba0a561a

View File

@@ -641,6 +641,16 @@ export function NotesTabsView({
const [sortOrder, setSortOrder] = useState<SortOrder>('date-desc')
const [sidebarOpen, setSidebarOpen] = useState(true)
// Auto-hide the meta sidebar when the AI panel opens (to gain space)
useEffect(() => {
const handler = (e: Event) => {
const visible = (e as CustomEvent<boolean>).detail
if (visible) setSidebarOpen(false)
}
window.addEventListener('contextual-ai-visibility', handler)
return () => window.removeEventListener('contextual-ai-visibility', handler)
}, [])
const prevNotesRef = useRef<Note[]>(notes)
useEffect(() => {
@@ -756,26 +766,6 @@ export function NotesTabsView({
const selected = items.find((n) => n.id === selectedId) ?? null
const colorKey = selected ? getColorKey(selected) : 'default'
// Resizable left panel (180px min, 420px max, default 256px)
const [listPanelWidth, setListPanelWidth] = useState(256)
const isDraggingRef = useRef(false)
const handleResizeStart = (e: React.MouseEvent) => {
e.preventDefault()
isDraggingRef.current = true
const startX = e.clientX
const startW = listPanelWidth
const onMove = (ev: MouseEvent) => {
if (!isDraggingRef.current) return
setListPanelWidth(Math.min(420, Math.max(180, startW + (ev.clientX - startX))))
}
const onUp = () => {
isDraggingRef.current = false
window.removeEventListener('mousemove', onMove)
window.removeEventListener('mouseup', onUp)
}
window.addEventListener('mousemove', onMove)
window.addEventListener('mouseup', onUp)
}
const handleCreateNote = (noteType: NoteType = 'richtext') => {
startCreating(async () => {
@@ -836,8 +826,8 @@ export function NotesTabsView({
style={{ height: 'max(360px, min(85vh, calc(100vh - 9rem)))' }}
data-testid="notes-grid-tabs"
>
{/* ── Left panel: note list — resizable ── */}
<div className="flex shrink-0 flex-col border-r border-border/60 bg-background" style={{ width: listPanelWidth }}>
{/* ── Left panel: note list ── */}
<div className="flex w-64 shrink-0 flex-col border-r border-border/60 bg-background">
{/* Header */}
<div className="flex items-center justify-between border-b border-border/60 bg-background/95 px-4 py-3.5">
@@ -962,15 +952,6 @@ export function NotesTabsView({
</div>
</div>
{/* Resize handle */}
<div
onMouseDown={handleResizeStart}
className="w-1 shrink-0 cursor-col-resize bg-border/40 hover:bg-primary/40 transition-colors active:bg-primary/60 relative group"
title="Redimensionner"
>
<div className="absolute inset-y-0 -left-1 -right-1 group-hover:bg-primary/10 transition-colors" />
</div>
{/* ── Right content panel ── */}
{selected ? (
<div className="flex min-w-0 flex-1 overflow-hidden">