"use client" import type { InputHTMLAttributes, ReactNode } from "react" import { FileSpreadsheet, FileText, FolderPlus, FolderUp, Presentation, Upload, } from "lucide-react" import { DriveNameDialog } from "@/components/drive/drive-name-dialog" import { Sheet, SheetContent, SheetDescription, SheetTitle } from "@/components/ui/sheet" import { DRIVE_NEW_MENU_ITEM_CLASS, useDriveNewMenu, } from "@/lib/hooks/use-drive-new-menu" import { DRIVE_SHEET_CONTENT, DRIVE_SHEET_OVERLAY, DRIVE_TEXT_TITLE, DRIVE_DIALOG_DIVIDER, } from "@/lib/drive/drive-dialog-styles" import { cn } from "@/lib/utils" function SheetAction({ icon, label, onClick, className, }: { icon: ReactNode label: string onClick?: () => void className?: string }) { return ( ) } export function DriveNewSheet({ parentPath, open, onOpenChange, }: { parentPath: string open: boolean onOpenChange: (open: boolean) => void }) { const { pendingKind, pendingMeta, defaultName, confirmNew, uploadFiles, importFolder, pickKind, closeNameDialog, } = useDriveNewMenu(parentPath) const closeSheet = () => onOpenChange(false) const pick = (kind: Parameters[0]) => { pickKind(kind) closeSheet() } return ( <> { if (!next) closeNameDialog() }} title={ pendingKind === "folder" ? "Nouveau dossier" : pendingMeta ? `Nouveau ${pendingMeta.menuLabel.toLowerCase()}` : "Nouveau" } defaultValue={defaultName} confirmLabel="Créer" onConfirm={confirmNew} /> Nouveau Créer un document, un tableur, une présentation ou un dossier.

Nouveau

} label="Document" onClick={() => pick("document")} /> } label="Tableur" onClick={() => pick("spreadsheet")} /> } label="Présentation" onClick={() => pick("presentation")} /> } label="Dossier" onClick={() => pick("folder")} />
) }