import { useSuspenseQuery } from "@tanstack/react-query"; import axios from "axios"; import { toast } from "sonner"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "../../../components/ui/card"; import { useAppForm } from "../../../lib/formSutff"; import { notificationSubs } from "../../../lib/queries/notificationSubs"; import { notifications } from "../../../lib/queries/notifications"; export default function NotificationsSubCard({ user }: any) { const { data } = useSuspenseQuery(notifications()); const { refetch } = useSuspenseQuery(notificationSubs(user.id)); const form = useAppForm({ defaultValues: { notificationId: "", emails: [user.email], }, onSubmit: async ({ value }) => { if (value.notificationId === "") { toast.error("Please select a notification before trying to subscribe."); return; } const postD = { ...value, userId: user.id }; try { const res = await axios.post("/lst/api/notification/sub", postD, { withCredentials: true, }); if (res.status === 200) { toast.success("Notification Subbed"); refetch(); form.reset(); } } catch (error) { console.error(error); } }, }); let n: any = []; if (data) { n = data .filter((n: any) => n.active) .map((i: any) => ({ label: i.name, value: i.id, })); } return (