Extend user reminder API endpoints

This commit is contained in:
jude
2024-03-09 16:17:55 +00:00
parent 8f4810b532
commit 3190738fc5
11 changed files with 342 additions and 75 deletions

View File

@ -2,9 +2,10 @@ import { useState } from "preact/hooks";
import { Modal } from "../../Modal";
import { useMutation, useQueryClient } from "react-query";
import { useReminder } from "../ReminderContext";
import { deleteGuildReminder } from "../../../api";
import { deleteReminder } from "../../../api";
import { useParams } from "wouter";
import { useFlash } from "../../App/FlashContext";
import { useGuild } from "../../App/useGuild";
export const DeleteButton = () => {
const [modalOpen, setModalOpen] = useState(false);
@ -26,20 +27,26 @@ export const DeleteButton = () => {
const DeleteModal = ({ setModalOpen }) => {
const [reminder] = useReminder();
const { guild } = useParams();
const guild = useGuild();
const flash = useFlash();
const queryClient = useQueryClient();
const mutation = useMutation({
...deleteGuildReminder(guild),
...deleteReminder(),
onSuccess: () => {
flash({
message: "Reminder deleted",
type: "success",
});
queryClient.invalidateQueries({
queryKey: ["GUILD_REMINDERS", guild],
});
if (guild) {
queryClient.invalidateQueries({
queryKey: ["GUILD_REMINDERS", guild],
});
} else {
queryClient.invalidateQueries({
queryKey: ["USER_REMINDERS"],
});
}
setModalOpen(false);
},
});