'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { useLanguage } from '@/lib/i18n' import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' interface EditNotebookDialogProps { notebook: any open: boolean onOpenChange: (open: boolean) => void } export function EditNotebookDialog({ notebook, open, onOpenChange }: EditNotebookDialogProps) { const router = useRouter() const { t } = useLanguage() const [name, setName] = useState(notebook?.name || '') const [isSubmitting, setIsSubmitting] = useState(false) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!name.trim()) return setIsSubmitting(true) try { const response = await fetch(`/api/notebooks/${notebook.id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: name.trim() }), }) if (response.ok) { onOpenChange(false) window.location.reload() } else { const error = await response.json() } } catch (error) { // Error already handled in UI } finally { setIsSubmitting(false) } } return ( {t('notebook.edit')} {t('notebook.editDescription')}
setName(e.target.value)} placeholder="My Notebook" className="col-span-3" autoFocus />
) }