diff --git a/apps/sim/app/workspace/[workspaceId]/files/files.tsx b/apps/sim/app/workspace/[workspaceId]/files/files.tsx index a16f13eaf7e..14c06f51d5e 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/files.tsx +++ b/apps/sim/app/workspace/[workspaceId]/files/files.tsx @@ -1232,10 +1232,8 @@ const DeleteConfirmModal = memo(function DeleteConfirmModal({

Are you sure you want to delete{' '} - {fileName}?{' '} - - You can restore it from Recently Deleted in Settings. - + {fileName}? You can + restore it from Recently Deleted in Settings.

diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/delete-chunk-modal/delete-chunk-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/delete-chunk-modal/delete-chunk-modal.tsx index 9d6c4ab24bf..f93ec2f1496 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/delete-chunk-modal/delete-chunk-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/delete-chunk-modal/delete-chunk-modal.tsx @@ -35,8 +35,7 @@ export function DeleteChunkModal({ Delete Chunk

- Are you sure you want to delete this chunk?{' '} - This action cannot be undone. + Are you sure you want to delete this chunk? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx index 4d7ecc781bf..0dd45e35f0c 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components/document-tags-modal/document-tags-modal.tsx @@ -383,7 +383,7 @@ export function DocumentTagsModal({ return ( - +
Document Tags diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/document.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/document.tsx index a7c0c48ba59..76240dd122c 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/document.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/document.tsx @@ -1187,7 +1187,7 @@ export function Document({ from future syncs. To temporarily hide it from search, disable it instead. ) : ( - This action cannot be undone. + <>This action cannot be undone. )}

diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx index d21b7614f31..f365755a6d2 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx @@ -1182,9 +1182,7 @@ export function KnowledgeBase({ The knowledge base and all {pagination.total} document {pagination.total === 1 ? '' : 's'} within it will be removed. {' '} - - You can restore it from Recently Deleted in Settings. - + You can restore it from Recently Deleted in Settings.

@@ -1221,9 +1219,12 @@ export function KnowledgeBase({ it from future syncs. To temporarily hide it from search, disable it instead. ) : ( - - This will permanently delete the document. - + <> + + This will permanently delete the document. + {' '} + This action cannot be undone. + )}

) @@ -1256,7 +1257,8 @@ export function KnowledgeBase({ This will permanently delete the selected document {selectedDocuments.size === 1 ? '' : 's'}. - + {' '} + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/base-tags-modal/base-tags-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/base-tags-modal/base-tags-modal.tsx index e762eb75765..0bd839483c3 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/base-tags-modal/base-tags-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/base-tags-modal/base-tags-modal.tsx @@ -261,7 +261,7 @@ export function BaseTagsModal({ open, onOpenChange, knowledgeBaseId }: BaseTagsM return ( <> - +
Tags @@ -421,7 +421,7 @@ export function BaseTagsModal({ open, onOpenChange, knowledgeBaseId }: BaseTagsM This will remove this tag from {selectedTagUsage?.documentCount || 0} document {selectedTagUsage?.documentCount !== 1 ? 's' : ''}. {' '} - This action cannot be undone. + This action cannot be undone.

{selectedTagUsage && selectedTagUsage.documentCount > 0 && ( diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/components/base-card/base-card.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/components/base-card/base-card.tsx index bdda246fae3..50933913e03 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/components/base-card/base-card.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/components/base-card/base-card.tsx @@ -1,6 +1,6 @@ 'use client' -import { useCallback, useRef, useState } from 'react' +import { useCallback, useState } from 'react' import { useParams, useRouter } from 'next/navigation' import { Badge, DocumentAttachment, Tooltip } from '@/components/emcn' import { formatAbsoluteDate, formatRelativeTime } from '@/lib/core/utils/formatting' @@ -101,23 +101,6 @@ export function BaseCard({ const [isTagsModalOpen, setIsTagsModalOpen] = useState(false) const [isDeleting, setIsDeleting] = useState(false) - /** - * Guards against context menu actions triggering card navigation. - * The card's onClick fires synchronously during the click event bubble phase, - * so the ref is checked before the setTimeout-0 callback resets it. - */ - const actionTakenRef = useRef(false) - const withActionGuard = useCallback((fn: () => void) => { - actionTakenRef.current = true - try { - fn() - } finally { - setTimeout(() => { - actionTakenRef.current = false - }, 0) - } - }, []) - const searchParams = new URLSearchParams({ kbName: title, }) @@ -127,7 +110,7 @@ export function BaseCard({ const handleClick = useCallback( (e: React.MouseEvent) => { - if (isContextMenuOpen || actionTakenRef.current) { + if (isContextMenuOpen) { e.preventDefault() return } @@ -147,25 +130,20 @@ export function BaseCard({ ) const handleOpenInNewTab = useCallback(() => { - withActionGuard(() => window.open(href, '_blank')) - }, [href, withActionGuard]) + window.open(href, '_blank') + }, [href]) const handleViewTags = useCallback(() => { - withActionGuard(() => setIsTagsModalOpen(true)) - }, [withActionGuard]) + setIsTagsModalOpen(true) + }, []) const handleEdit = useCallback(() => { - withActionGuard(() => setIsEditModalOpen(true)) - }, [withActionGuard]) + setIsEditModalOpen(true) + }, []) const handleDelete = useCallback(() => { - withActionGuard(() => setIsDeleteModalOpen(true)) - }, [withActionGuard]) - - const handleCopyId = useCallback(() => { - if (!id) return - withActionGuard(() => navigator.clipboard.writeText(id)) - }, [id, withActionGuard]) + setIsDeleteModalOpen(true) + }, []) const handleConfirmDelete = useCallback(async () => { if (!id || !onDelete) return @@ -262,7 +240,7 @@ export function BaseCard({ onClose={closeContextMenu} onOpenInNewTab={handleOpenInNewTab} onViewTags={handleViewTags} - onCopyId={id ? handleCopyId : undefined} + onCopyId={id ? () => navigator.clipboard.writeText(id) : undefined} onEdit={handleEdit} onDelete={handleDelete} showOpenInNewTab={true} diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/components/delete-knowledge-base-modal/delete-knowledge-base-modal.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/components/delete-knowledge-base-modal/delete-knowledge-base-modal.tsx index fae7a768a53..6d62584b430 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/components/delete-knowledge-base-modal/delete-knowledge-base-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/components/delete-knowledge-base-modal/delete-knowledge-base-modal.tsx @@ -59,9 +59,7 @@ export const DeleteKnowledgeBaseModal = memo(function DeleteKnowledgeBaseModal({ )}{' '} - - You can restore it from Recently Deleted in Settings. - + You can restore it from Recently Deleted in Settings.

diff --git a/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx b/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx index 4691b0c6f98..113a7405ad2 100644 --- a/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx +++ b/apps/sim/app/workspace/[workspaceId]/logs/components/logs-toolbar/components/notifications/notifications.tsx @@ -1267,11 +1267,11 @@ export const NotificationSettings = memo(function NotificationSettings({ Delete Notification -

+

This will permanently remove the notification and stop all deliveries. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/scheduled-tasks.tsx b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/scheduled-tasks.tsx index 69165d11798..b6676920122 100644 --- a/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/scheduled-tasks.tsx +++ b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/scheduled-tasks.tsx @@ -447,12 +447,12 @@ export function ScheduledTasks() { Delete Scheduled Task -

+

Are you sure you want to delete{' '} {activeTask?.jobTitle || 'this task'} - ? This action cannot be undone. + ? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/api-keys.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/api-keys.tsx index 5db8c7d592f..7438e59c68b 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/api-keys.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/api-keys.tsx @@ -384,7 +384,7 @@ export function ApiKeys() { will immediately revoke access for any integrations using it. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/byok/byok.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/byok/byok.tsx index 315d80594c6..4ae4547a869 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/byok/byok.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/byok/byok.tsx @@ -415,7 +415,8 @@ export function BYOK() { API key?{' '} This workspace will revert to using platform hosted keys. - + {' '} + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx index bc135bfe17c..1d8527f7313 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot.tsx @@ -369,7 +369,7 @@ export function Copilot() { will immediately revoke access for any integrations using it. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx index 33aca21f317..ebe8b0f7556 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets.tsx @@ -880,7 +880,7 @@ export function CredentialSets() {

Are you sure you want to delete{' '} {deletingSet?.name}?{' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx index 3d55993f12c..c28d8838f6f 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tools.tsx @@ -192,7 +192,7 @@ export function CustomTools() {

Are you sure you want to delete{' '} {toolToDelete?.name}?{' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx index 34bd8694fc9..dbc4627e5d6 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-enable-toggle.tsx @@ -125,8 +125,8 @@ export function InboxEnableToggle() { {config.address} )} - ? Any emails sent to this address after disabling will not be delivered.{' '} - This action cannot be undone. + ? Any emails sent to this address after disabling will not be delivered. This action + cannot be undone.

Your existing conversations and task history will be preserved. diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx index a688a44091a..b62fa6a093b 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-manager.tsx @@ -1136,7 +1136,7 @@ export function IntegrationsManager() { {credentialToDelete?.displayName} - ? This action cannot be undone. + ? This action cannot be undone.

{deleteError && (
diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx index 6522a2974a6..99a9c9d04ff 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp.tsx @@ -710,7 +710,7 @@ export function MCP({ initialServerId }: MCPProps) {

Are you sure you want to delete{' '} {serverToDelete?.name} - ? This action cannot be undone. + ? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx index 0d642ca3c08..db692905f4d 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx @@ -173,7 +173,7 @@ export function Skills() {

Are you sure you want to delete{' '} {skillToDelete?.name}?{' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/remove-member-dialog/remove-member-dialog.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/remove-member-dialog/remove-member-dialog.tsx index 01057633c34..f6cb01f48a9 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/remove-member-dialog/remove-member-dialog.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/team-management/components/remove-member-dialog/remove-member-dialog.tsx @@ -46,7 +46,7 @@ export function RemoveMemberDialog({ the team? )}{' '} - This action cannot be undone. + This action cannot be undone.

{!isSelfRemoval && ( diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx index 3ab353a1aeb..7d7204c9d04 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx @@ -1111,7 +1111,7 @@ export function WorkflowMcpServers() {

Are you sure you want to delete{' '} {serverToDelete?.name} - ? This action cannot be undone. + ? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx index b506f79230c..f3e26a14243 100644 --- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/row-modal/row-modal.tsx @@ -168,7 +168,7 @@ export function RowModal({ mode, isOpen, onClose, table, row, rowIds, onSuccess This will permanently remove all data in {isSingleRow ? 'this row' : 'these rows'}. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table/table.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table/table.tsx index 843488172c7..558394b9ad1 100644 --- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table/table.tsx +++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table/table.tsx @@ -1852,9 +1852,7 @@ export function Table({ All {tableData?.rowCount ?? 0} rows will be removed. {' '} - - You can restore it from Recently Deleted in Settings. - + You can restore it from Recently Deleted in Settings.

@@ -1892,7 +1890,7 @@ export function Table({ This will remove all data in this column. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/tables/tables.tsx b/apps/sim/app/workspace/[workspaceId]/tables/tables.tsx index a26aa3a18ed..0761513cdf4 100644 --- a/apps/sim/app/workspace/[workspaceId]/tables/tables.tsx +++ b/apps/sim/app/workspace/[workspaceId]/tables/tables.tsx @@ -539,9 +539,7 @@ export function Tables() { All {activeTable?.rowCount} rows will be removed. {' '} - - You can restore it from Recently Deleted in Settings. - + You can restore it from Recently Deleted in Settings.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/chat/chat.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/chat/chat.tsx index f2b7e4cabe0..9f7a4f44026 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/chat/chat.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/chat/chat.tsx @@ -433,7 +433,8 @@ export function ChatDeploy({ This will remove the chat at "{getEmailDomain()}/chat/{existingChat?.identifier}" and make it unavailable to all users. - + {' '} + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/template/template.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/template/template.tsx index 9a749b7d612..4f2f77144f1 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/template/template.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/template/template.tsx @@ -370,7 +370,7 @@ export function TemplateDeploy({ {existingTemplate?.name || formData.name || 'this template'} - ? This action cannot be undone. + ? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx index 4133728b666..4e201d93590 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx @@ -883,7 +883,8 @@ export function DeployModal({ ?{' '} This will permanently remove the agent configuration. - + {' '} + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx index c47cd2f4b03..aa86a12107c 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/custom-tool-modal/custom-tool-modal.tsx @@ -1181,7 +1181,7 @@ try { This will permanently delete the tool and remove it from any workflows that are using it. {' '} - This action cannot be undone. + This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx index 29b15ab616f..4d485c763ce 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/panel.tsx @@ -897,9 +897,7 @@ export const Panel = memo(function Panel({ workspaceId: propWorkspaceId }: Panel All associated blocks, executions, and configuration will be removed. {' '} - - You can restore it from Recently Deleted in Settings. - + You can restore it from Recently Deleted in Settings.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/delete-modal/delete-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/delete-modal/delete-modal.tsx index 5eb334c0588..e860aa07acd 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/delete-modal/delete-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/delete-modal/delete-modal.tsx @@ -1,5 +1,6 @@ 'use client' +import { useState } from 'react' import { Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader } from '@/components/emcn' interface DeleteModalProps { @@ -46,11 +47,25 @@ export function DeleteModal({ itemType, itemName, }: DeleteModalProps) { + const [confirmationText, setConfirmationText] = useState('') + const [prevIsOpen, setPrevIsOpen] = useState(false) + + if (isOpen !== prevIsOpen) { + setPrevIsOpen(isOpen) + if (isOpen) { + setConfirmationText('') + } + } + const isMultiple = Array.isArray(itemName) && itemName.length > 1 const isSingle = !isMultiple const displayNames = Array.isArray(itemName) ? itemName : itemName ? [itemName] : [] + const isWorkspace = itemType === 'workspace' + const workspaceName = isWorkspace && displayNames.length > 0 ? displayNames[0] : '' + const isConfirmed = !isWorkspace || confirmationText === workspaceName + let title = '' if (itemType === 'workflow') { title = isMultiple ? 'Delete Workflows' : 'Delete Workflow' @@ -207,8 +222,8 @@ export function DeleteModal({ Are you sure you want to delete{' '} {displayNames[0]}?{' '} - This will permanently remove all associated workflows, folders, logs, and knowledge - bases. + This will permanently remove all associated workflows, tables, files, logs, and + knowledge bases. ) @@ -217,33 +232,54 @@ export function DeleteModal({ <> Are you sure you want to delete this workspace?{' '} - This will permanently remove all associated workflows, folders, logs, and knowledge bases. + This will permanently remove all associated workflows, tables, files, logs, and knowledge + bases. ) } + const handleClose = () => { + setConfirmationText('') + onClose() + } + return ( - + {title}

{renderDescription()}{' '} - {restorableTypes.has(itemType) ? ( - - You can restore it from Recently Deleted in Settings. - - ) : ( - This action cannot be undone. - )} + {restorableTypes.has(itemType) + ? 'You can restore it from Recently Deleted in Settings.' + : 'This action cannot be undone.'}

+ {isWorkspace && workspaceName && ( +
+ + setConfirmationText(e.target.value)} + className='w-full rounded-md border border-[var(--border)] bg-transparent px-3 py-2 text-[var(--text-primary)] text-sm placeholder:text-[var(--text-tertiary)] focus:border-[var(--border-1)] focus:outline-none' + placeholder={workspaceName} + /> +
+ )}
- - diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx index 719488e3a3d..ef7297e96be 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/invite-modal/invite-modal.tsx @@ -613,8 +613,7 @@ export function InviteModal({ open, onOpenChange, workspaceName }: InviteModalPr {memberToRemove?.email} {' '} - from this workspace?{' '} - This action cannot be undone. + from this workspace? This action cannot be undone.

@@ -646,7 +645,7 @@ export function InviteModal({ open, onOpenChange, workspaceName }: InviteModalPr {invitationToRemove?.email} - ? This action cannot be undone. + ? This action cannot be undone.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx index 306834b22f8..df36aa26164 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx @@ -667,8 +667,8 @@ export function WorkspaceHeader({

Are you sure you want to leave{' '} {leaveTarget?.name}? You - will lose access to all workflows and data in this workspace.{' '} - This action cannot be undone. + will lose access to all workflows and data in this workspace. This action cannot be + undone.

diff --git a/apps/sim/ee/access-control/components/access-control.tsx b/apps/sim/ee/access-control/components/access-control.tsx index d6e334c8ff9..cc636fb9df8 100644 --- a/apps/sim/ee/access-control/components/access-control.tsx +++ b/apps/sim/ee/access-control/components/access-control.tsx @@ -1290,7 +1290,7 @@ export function AccessControl() { All members will be removed from this group. {' '} - This action cannot be undone. + This action cannot be undone.