diff --git a/src/pages/PersonalizationAI/AuditoryLink.tsx b/src/pages/PersonalizationAI/AuditoryLink.tsx index 3d109f4b..185a69f7 100644 --- a/src/pages/PersonalizationAI/AuditoryLink.tsx +++ b/src/pages/PersonalizationAI/AuditoryLink.tsx @@ -6,6 +6,7 @@ import { InfoPopover } from "@/ui_kit/InfoPopover"; import TooltipClickInfo from "@/ui_kit/Toolbars/TooltipClickInfo"; import { useDomainDefine } from "@/utils/hooks/useDomainDefine"; import { IconButton, ListItem, Typography, useTheme } from "@mui/material"; +import { useMemo } from "react"; interface AuditoryLinkProps { item: AuditoryItem; @@ -19,7 +20,16 @@ export const AuditoryLink = ({ utmParams, item, index, onDelete }: AuditoryLinkP const quiz = useCurrentQuiz(); const { isTestServer } = useDomainDefine(); + const canCopy = useMemo(() => { + if (!item.created_at) return true; + const now = new Date().getTime(); + const created = new Date(item.created_at).getTime(); + const diffInMinutes = (now - created) / (1000 * 60); + return diffInMinutes >= 5; + }, [item.created_at]); + const handleCopy = (text: string) => { + if (!canCopy) return; navigator.clipboard.writeText(text); }; @@ -27,7 +37,7 @@ export const AuditoryLink = ({ utmParams, item, index, onDelete }: AuditoryLinkP onDelete(item.id); }; - const linkText = `${isTestServer ? "https://s.hbpn.link/" : "https://hbpn.link/"}${quiz.qid}?_paud=${item.id}${utmParams}`; + const linkText = `${isTestServer ? "https://s.hbpn.link/" : "https://hbpn.link/"}${quiz?.qid}?_paud=${item.id}${utmParams}`; return ( handleCopy(linkText)} > - + } > {linkText}