feat(notebook-widget): add confirmation on dismiss (#4064)
This commit is contained in:
@@ -1543,7 +1543,15 @@
|
|||||||
"width": "Width",
|
"width": "Width",
|
||||||
"height": "Height"
|
"height": "Height"
|
||||||
},
|
},
|
||||||
"placeholder": "Start writing your notes"
|
"placeholder": "Start writing your notes",
|
||||||
|
"dismiss": {
|
||||||
|
"title": "Dismiss changes?",
|
||||||
|
"message": "You have unsaved changes in your notebook. Are you sure you want to discard them?",
|
||||||
|
"action": {
|
||||||
|
"discard": "Discard changes",
|
||||||
|
"keepEditing": "Keep editing"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"iframe": {
|
"iframe": {
|
||||||
"name": "iFrame",
|
"name": "iFrame",
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ import "./notebook.css";
|
|||||||
import { useSession } from "@homarr/auth/client";
|
import { useSession } from "@homarr/auth/client";
|
||||||
import { constructBoardPermissions } from "@homarr/auth/shared";
|
import { constructBoardPermissions } from "@homarr/auth/shared";
|
||||||
import { useRequiredBoard } from "@homarr/boards/context";
|
import { useRequiredBoard } from "@homarr/boards/context";
|
||||||
|
import { useConfirmModal } from "@homarr/modals";
|
||||||
|
|
||||||
const iconProps = {
|
const iconProps = {
|
||||||
size: 30,
|
size: 30,
|
||||||
@@ -240,9 +241,20 @@ export function Notebook({ options, setOptions, isEditMode, boardId, itemId }: W
|
|||||||
return false;
|
return false;
|
||||||
}, [editor]);
|
}, [editor]);
|
||||||
|
|
||||||
|
const { openConfirmModal } = useConfirmModal();
|
||||||
const handleEditCancel = useCallback(() => {
|
const handleEditCancel = useCallback(() => {
|
||||||
setIsEditing(handleEditCancelCallback);
|
openConfirmModal({
|
||||||
}, [setIsEditing, handleEditCancelCallback]);
|
title: t("widget.notebook.dismiss.title"),
|
||||||
|
children: t("widget.notebook.dismiss.message"),
|
||||||
|
labels: {
|
||||||
|
confirm: t("widget.notebook.dismiss.action.discard"),
|
||||||
|
cancel: t("widget.notebook.dismiss.action.keepEditing"),
|
||||||
|
},
|
||||||
|
onConfirm: () => {
|
||||||
|
setIsEditing(handleEditCancelCallback);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}, [setIsEditing, handleEditCancelCallback, openConfirmModal, t]);
|
||||||
|
|
||||||
const handleEditToggle = useCallback(() => {
|
const handleEditToggle = useCallback(() => {
|
||||||
setIsEditing(handleEditToggleCallback);
|
setIsEditing(handleEditToggleCallback);
|
||||||
|
|||||||
Reference in New Issue
Block a user