import { useState } from "react"; import { Icon } from "../../../components/Icon.jsx"; export function LinksModule({ toolboxId, moduleId, context, editing }) { const data = context.normalizeLinksData(context.getModuleData(toolboxId, moduleId, { links: [] })); const [title, setTitle] = useState(""); const [url, setUrl] = useState(""); const [copiedId, setCopiedId] = useState(""); function save(links) { context.setModuleData(toolboxId, moduleId, { links }); } function addLink(event) { event.preventDefault(); const cleanUrl = context.normalizeUrl(url); if (!cleanUrl) return; save([ ...data.links, { id: context.uid("link"), title: title.trim(), url: cleanUrl } ]); setTitle(""); setUrl(""); } async function copyUrl(link) { const copied = await context.copyText(link.url); if (!copied) return; setCopiedId(link.id); window.setTimeout(() => setCopiedId(""), 1400); } return ( <> {editing && (
setTitle(event.target.value)} /> setUrl(event.target.value)} />
)} ); }