diff --git a/client/src/components/CardModal/CardModal.jsx b/client/src/components/CardModal/CardModal.jsx
index ff77aa97..9c9651cc 100755
--- a/client/src/components/CardModal/CardModal.jsx
+++ b/client/src/components/CardModal/CardModal.jsx
@@ -1,4 +1,4 @@
-import React, { useCallback, useRef } from 'react';
+import React, { useCallback, useRef, useState } from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { useTranslation } from 'react-i18next';
@@ -81,6 +81,7 @@ const CardModal = React.memo(
onClose,
}) => {
const [t] = useTranslation();
+ const [isLinkCopied, setIsLinkCopied] = useState(false);
const isGalleryOpened = useRef(false);
@@ -146,6 +147,14 @@ const CardModal = React.memo(
onClose();
}, [onDuplicate, onClose]);
+ const handleCopyLinkClick = useCallback(() => {
+ navigator.clipboard.writeText(window.location.href);
+ setIsLinkCopied(true);
+ setTimeout(() => {
+ setIsLinkCopied(false);
+ }, 5000);
+ }, []);
+
const handleGalleryOpen = useCallback(() => {
isGalleryOpened.current = true;
}, []);
@@ -506,6 +515,14 @@ const CardModal = React.memo(
{t('action.duplicate')}
+