"use client" import type { RefObject } from "react" import { Label } from "@/components/ui/label" import { Input } from "@/components/ui/input" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" export type SidebarCreateDialogsProps = { folderDialogOpen: boolean setFolderDialogOpen: (open: boolean) => void labelDialogOpen: boolean setLabelDialogOpen: (open: boolean) => void newFolderName: string setNewFolderName: (v: string) => void newFolderParent: string setNewFolderParent: (v: string) => void newLabelName: string setNewLabelName: (v: string) => void newFolderNameInputRef: RefObject newLabelNameInputRef: RefObject folderParentOptions: { value: string; label: string }[] onSubmitNewFolder: () => void onSubmitNewLabel: () => void } export function SidebarCreateDialogs({ folderDialogOpen, setFolderDialogOpen, labelDialogOpen, setLabelDialogOpen, newFolderName, setNewFolderName, newFolderParent, setNewFolderParent, newLabelName, setNewLabelName, newFolderNameInputRef, newLabelNameInputRef, folderParentOptions, onSubmitNewFolder, onSubmitNewLabel, }: SidebarCreateDialogsProps) { return ( <> { e.preventDefault() window.requestAnimationFrame(() => newFolderNameInputRef.current?.focus() ) }} > Nouveau dossier Choisissez l’emplacement (racine ou dossier parent) puis le nom.
setNewFolderName(e.target.value)} placeholder="Mon dossier" autoComplete="off" onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault() onSubmitNewFolder() } }} />
{ e.preventDefault() window.requestAnimationFrame(() => newLabelNameInputRef.current?.focus() ) }} > Nouveau libellé Nom affiché dans la barre latérale et utilisé sur les messages.
setNewLabelName(e.target.value)} placeholder="Libellé" autoComplete="off" onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault() onSubmitNewLabel() } }} />
) }