"use client"; /** * Figma: Community Rule System — "Modal / Share" * https://www.figma.com/design/agv0VBLiBlcnSAaiAORgPR/Community-Rule-System?node-id=22073-30884 * Copy-link hover / Copied! : 23769:27494 / 23769:27443 */ import { memo, useCallback, useEffect, useId, useRef, useState } from "react"; import { useTranslation } from "../../../contexts/MessagesContext"; import { useCreateModalA11y } from "../Create/useCreateModalA11y"; import { ShareView } from "./Share.view"; import type { ShareProps } from "./Share.types"; const ShareContainer = memo((props) => { const dialogRef = useRef(null); const overlayRef = useRef(null); const titleId = useId(); const t = useTranslation("modals.share"); const [linkCopied, setLinkCopied] = useState(false); useCreateModalA11y(props.isOpen, props.onClose, dialogRef); useEffect(() => { if (!props.isOpen) { setLinkCopied(false); } }, [props.isOpen]); const onCopyLinkClick = useCallback(async () => { try { const result = await props.onCopyLink(); if (result !== false) { setLinkCopied(true); } } catch { setLinkCopied(false); } }, [props.onCopyLink]); return ( ); }); ShareContainer.displayName = "Share"; export default ShareContainer;