Files
plane/apps/web/core/components/stickies/delete-modal.tsx
chuan bba4bb40c8
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
feat: init
2025-11-11 01:56:44 +08:00

49 lines
1.2 KiB
TypeScript

"use client";
import { useState } from "react";
import { observer } from "mobx-react";
// ui
import { useTranslation } from "@plane/i18n";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { AlertModalCore } from "@plane/ui";
interface IStickyDelete {
isOpen: boolean;
handleSubmit: () => Promise<void>;
handleClose: () => void;
}
export const StickyDeleteModal: React.FC<IStickyDelete> = observer((props) => {
const { isOpen, handleClose, handleSubmit } = props;
// states
const [loader, setLoader] = useState(false);
// hooks
const { t } = useTranslation();
const formSubmit = async () => {
try {
setLoader(true);
await handleSubmit();
} catch {
setToast({
type: TOAST_TYPE.ERROR,
title: t("stickies.toasts.not_removed.title"),
message: t("stickies.toasts.not_removed.message"),
});
} finally {
setLoader(false);
}
};
return (
<AlertModalCore
handleClose={handleClose}
handleSubmit={formSubmit}
isSubmitting={loader}
isOpen={isOpen}
title={t("stickies.delete")}
content={t("stickies.delete_confirmation")}
/>
);
});