Catch error and show toast when failing to delete review items

This commit is contained in:
Josh Hawkins 2025-05-09 10:40:11 -05:00
parent 8094dd4075
commit 75ed98a565

View File

@ -17,6 +17,7 @@ import {
} from "../ui/alert-dialog"; } from "../ui/alert-dialog";
import useKeyboardListener from "@/hooks/use-keyboard-listener"; import useKeyboardListener from "@/hooks/use-keyboard-listener";
import { Trans, useTranslation } from "react-i18next"; import { Trans, useTranslation } from "react-i18next";
import { toast } from "sonner";
type ReviewActionGroupProps = { type ReviewActionGroupProps = {
selectedReviews: string[]; selectedReviews: string[];
@ -41,10 +42,27 @@ export default function ReviewActionGroup({
pullLatestData(); pullLatestData();
}, [selectedReviews, setSelectedReviews, pullLatestData]); }, [selectedReviews, setSelectedReviews, pullLatestData]);
const onDelete = useCallback(async () => { const onDelete = useCallback(() => {
await axios.post(`reviews/delete`, { ids: selectedReviews }); axios
.post(`reviews/delete`, { ids: selectedReviews })
.then((resp) => {
if (resp.status === 200) {
toast.success("Reviews deleted successfully", {
position: "top-center",
});
setSelectedReviews([]); setSelectedReviews([]);
pullLatestData(); pullLatestData();
}
})
.catch((error) => {
const errorMessage =
error.response?.data?.message ||
error.response?.data?.detail ||
"Unknown error";
toast.error(`Failed to delete reviews: ${errorMessage}`, {
position: "top-center",
});
});
}, [selectedReviews, setSelectedReviews, pullLatestData]); }, [selectedReviews, setSelectedReviews, pullLatestData]);
const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);