diff --git a/src/frontend/src/components/ui/tooltip.tsx b/src/frontend/src/components/ui/tooltip.tsx index d1f2c8c77..4120219ec 100644 --- a/src/frontend/src/components/ui/tooltip.tsx +++ b/src/frontend/src/components/ui/tooltip.tsx @@ -19,7 +19,7 @@ const TooltipContent = React.forwardRef< ref={ref} sideOffset={sideOffset} className={cn( - "z-50 overflow-y-auto rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1", + "z-45 overflow-y-auto rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1", className )} {...props} diff --git a/src/frontend/src/modals/shareModal/index.tsx b/src/frontend/src/modals/shareModal/index.tsx index 1ac076596..8e24b0189 100644 --- a/src/frontend/src/modals/shareModal/index.tsx +++ b/src/frontend/src/modals/shareModal/index.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useContext, useEffect, useState } from "react"; +import { ReactNode, useContext, useEffect, useMemo, useState } from "react"; import EditFlowSettings from "../../components/EditFlowSettingsComponent"; import IconComponent from "../../components/genericIconComponent"; import { TagsSelector } from "../../components/tagsSelectorComponent"; @@ -18,6 +18,7 @@ import { removeFileNameFromComponents, } from "../../utils/reactflowUtils"; import { getTagsIds } from "../../utils/storeUtils"; +import ConfirmationModal from "../ConfirmationModal"; import BaseModal from "../baseModal"; export default function ShareModal({ @@ -124,6 +125,66 @@ export default function ShareModal({ ); }; + const handleUpdateComponent = () => { + handleShareComponent(); + if (setOpen) setOpen(false); + else internalSetOpen(false); + }; + + let modalConfirmationButton = useMemo(() => { + return ( + <> + {unavaliableNames.includes(name) ? ( + { + handleUpdateComponent(); + }} + size={"x-small"} + > + + + Are you sure you want to update this{" "} + {nameComponent.toLowerCase()}? + +

+ + Warning: This action cannot be undone. + +
+ +
+ +
+
+
+ ) : ( + <> + + + )} + + ); + }, [unavaliableNames]); + return ( - + <>{modalConfirmationButton} ); diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index e69d52f54..d5119e309 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -294,7 +294,7 @@ export type ConfirmationModalType = { ]; icon: string; data?: any; - index: number; + index?: number; onConfirm: (index, data) => void; open?: boolean; onClose?: (close: boolean) => void;