'use client' import { Card, CardHeader, CardBody, CardFooter } from '@nextui-org/card' import { Link } from '@nextui-org/link' import { Divider } from '@nextui-org/divider' import { Image } from '@nextui-org/image' import { Icon } from '@iconify/react' import { Button } from '@nextui-org/button' import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, } from '@nextui-org/dropdown' import { useRouter } from 'next/navigation' import EditBookmarkForm from './editBookmarkForm' import { type Bookmark } from '@/types' import { useContext } from 'react' import { BookmarkContext, EditBookmarkContext } from '@/app/providers' export const BookmarkCard = ({ data }: { data: Bookmark }) => { const { setIsEditBookmark } = useContext(EditBookmarkContext) const { bookmark, setBookmark } = useContext(BookmarkContext) const router = useRouter() const deleteBookmark = async (event: React.MouseEvent, id: Number) => { event.stopPropagation() await fetch('/api/bookmark', { method: 'DELETE', body: JSON.stringify({ bookmarkId: id }), }) router.refresh() } const editBookmark = (selectedBookmark: Bookmark) => { setBookmark({ ...bookmark, ...selectedBookmark }) setIsEditBookmark(true) } return ( <> nextui logo

{data.name}

{data.link}

editBookmark(data)}> Edit Bookmark deleteBookmark(event, data.id) }> Delete Bookmark

{data.description}

{data.url}
) }