'use client' import { useState } from 'react' import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Textarea } from "@/components/ui/textarea" import { Label } from "@/components/ui/label" import { MarkCardI } from '@/lib/markcard/card' interface EditCardModalProps { isOpen: boolean onClose: () => void cardData: MarkCardI onSave: (updatedData: Partial) => void } export default function EditCardModal({ isOpen, onClose, cardData, onSave }: EditCardModalProps) { const [editedData, setEditedData] = useState(cardData) const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target setEditedData((prev) => ({ ...prev, [name]: value })) } const handleLinkChange = (index: number, field: 'title' | 'url', value: string) => { setEditedData((prev) => ({ ...prev, links: prev.links.map((link, i) => (i === index ? { ...link, [field]: value } : link)), })) } const handleAddLink = () => { setEditedData((prev) => ({ ...prev, links: [...prev.links, { title: '', url: '' }], })) } const handleRemoveLink = (index: number) => { setEditedData((prev) => ({ ...prev, links: prev.links.filter((_, i) => i !== index), })) } const handleSave = () => { onSave(editedData) } return ( Edit Card Here you can modify the card details and links. Click `Save changes` after you are done.