"use client" import { useMemo, useState } from "react" import Link from "next/link" import { useParams, usePathname } from "next/navigation" import { Icon } from "@iconify/react" import { Clock, Star, Trash2 } from "lucide-react" import { cn } from "@/lib/utils" import { mailNavRowClass } from "@/lib/mail-chrome-classes" import { DriveQuotaBar } from "@/components/drive/quota-bar" import { DriveNewMenu } from "@/components/drive/new-menu" import { DriveSidebarFolderTree } from "@/components/drive/sidebar-folder-tree" import { AccountAvatar } from "@/components/suite/account-avatar" import { AccountSwitcherSheet } from "@/components/suite/account-switcher-sheet" import { Button } from "@/components/ui/button" import { useIsXs } from "@/hooks/use-xs" import { folderPathFromSegments, parseDriveSegments } from "@/lib/drive/drive-url" import { useChromeIdentity } from "@/lib/hooks/use-chrome-identity" import { useDriveUIStore } from "@/lib/stores/drive-ui-store" const OTHER_NAV = [ { href: "/drive/recent", label: "Récents", icon: Clock }, { href: "/drive/starred", label: "Favoris", icon: Star }, { href: "/drive/trash", label: "Corbeille", icon: Trash2 }, ] export function DriveSidebar({ overlay = false, open = true, }: { overlay?: boolean open?: boolean }) { const pathname = usePathname() const params = useParams() const isXs = useIsXs() const identity = useChromeIdentity() const [accountMenuOpen, setAccountMenuOpen] = useState(false) const setSidebarCollapsed = useDriveUIStore((s) => s.setSidebarCollapsed) const route = useMemo( () => parseDriveSegments(params.segments as string[] | undefined), [params.segments] ) const parentPath = folderPathFromSegments(route.pathSegments) const filesSegments = route.view === "files" ? route.pathSegments : [] const sharedSegments = route.view === "shared" ? route.pathSegments : [] const closeSidebar = () => setSidebarCollapsed(true) const displayName = identity?.name ?? "Utilisateur" return ( ) }