import { useState } from "react"; import { ActionButton } from "@/components/ui/action-button"; import { Button } from "@/components/ui/button"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Textarea } from "@/components/ui/textarea"; import { toast } from "@/components/ui/use-toast"; import { useUpdateBookmarkText } from "@hoarder/shared-react/hooks/bookmarks"; import { BookmarkTypes, ZBookmark } from "@hoarder/shared/types/bookmarks"; export function BookmarkedTextEditor({ bookmark, open, setOpen, }: { bookmark: ZBookmark; open: boolean; setOpen: (open: boolean) => void; }) { const isNewBookmark = bookmark === undefined; const [noteText, setNoteText] = useState( bookmark && bookmark.content.type == BookmarkTypes.TEXT ? bookmark.content.text : "", ); const { mutate: updateBookmarkMutator, isPending } = useUpdateBookmarkText({ onSuccess: () => { toast({ description: "Note updated!", }); setOpen(false); }, onError: () => { toast({ description: "Something went wrong", variant: "destructive" }); }, }); const onSave = () => { updateBookmarkMutator({ bookmarkId: bookmark.id, text: noteText, }); }; return ( {isNewBookmark ? "New Note" : "Edit Note"} Write your note with markdown support