'use client' import { useState } from 'react' import { motion, AnimatePresence } from 'motion/react' import { useLanguage } from '@/lib/i18n' import { useNotebooks } from '@/context/notebooks-context' interface CreateNotebookDialogProps { open?: boolean onOpenChange?: (open: boolean) => void } export function CreateNotebookDialog({ open, onOpenChange }: CreateNotebookDialogProps) { const { t } = useLanguage() const { createNotebookOptimistic } = useNotebooks() const [name, setName] = useState('') const [isSubmitting, setIsSubmitting] = useState(false) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!name.trim()) return setIsSubmitting(true) try { await createNotebookOptimistic({ name: name.trim(), icon: 'folder', color: '#64748B' }) setName('') onOpenChange?.(false) } catch (err) { console.error('Failed to create notebook:', err) } finally { setIsSubmitting(false) } } const handleClose = () => { setName('') onOpenChange?.(false) } return ( {open && (
{/* Backdrop */} {/* Card */}

{t('notebook.createNew') || 'Nouveau carnet'}

{t('notebook.createDescription') || 'Donnez un nom à votre nouveau carnet.'}

setName(e.target.value)} placeholder={t('notebook.namePlaceholder') || 'Ex. : Projets, Recherche…'} className="w-full bg-white dark:bg-zinc-800 border border-black/12 dark:border-white/15 rounded-lg px-4 py-3 outline-none focus:border-foreground/40 dark:focus:border-white/40 transition-colors font-memento-serif italic text-lg text-foreground placeholder:text-muted-foreground/40" />
)}
) }