"use client";
import { Form, FormControl, FormField, FormItem } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Pencil, Plus } from "lucide-react";
import { useForm, SubmitErrorHandler } from "react-hook-form";
import { z } from "zod";
import { zodResolver } from "@hookform/resolvers/zod";
import { toast } from "@/components/ui/use-toast";
import { api } from "@/lib/trpc";
import { ActionButton } from "@/components/ui/action-button";
import { Button } from "@/components/ui/button";
import { BookmarkedTextEditor } from "./BookmarkedTextEditor";
import { useState } from "react";
function AddText() {
const [isEditorOpen, setEditorOpen] = useState(false);
return (
);
}
function AddLink() {
const formSchema = z.object({
url: z.string().url({ message: "The link must be a valid URL" }),
});
const form = useForm>({
resolver: zodResolver(formSchema),
});
const invalidateBookmarksCache = api.useUtils().bookmarks.invalidate;
const createBookmarkMutator = api.bookmarks.createBookmark.useMutation({
onSuccess: () => {
invalidateBookmarksCache();
},
onError: () => {
toast({ description: "Something went wrong", variant: "destructive" });
},
});
const onError: SubmitErrorHandler> = (errors) => {
toast({
description: Object.values(errors)
.map((v) => v.message)
.join("\n"),
variant: "destructive",
});
};
return (
);
}
export default function AddBookmark() {
return (
);
}