Rev 348 | Rev 352 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from "react";import styles from "./MobileSharePopUp.module.scss";const SharePopup = ({ shareData, onClose, onError }) => {const [state, setState] = useState("pending");const getShareUrl = async (url = "") => {await axios.get(url).then(({ data }) => {if (!data.success) {dispatch(addNotification({ style: "danger", msg: data.data }));return;}return data.data;}).catch((err) => {onError(err);throw new Error(err);});};const copyClicked = async () => {try {const shareUrl = await getShareUrl(shareData.url);await navigator.clipboard.writeText(shareUrl || "");setState("success");} catch (err) {onError && onError(err);setState("error");}};const getButtonText = (state) => {switch (state) {case "success":return "Link copied";case "pending":default:return "Copy link";}};return (<div className={styles.share__popup}><div><h3>{shareData.title}</h3><button onClick={onClose}><span>Close Share</span><div aria-hidden="true"><svgxmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"><g id="close"><pathid="x"d="M18.717 6.697l-1.414-1.414-5.303 5.303-5.303-5.303-1.414 1.414 5.303 5.303-5.303 5.303 1.414 1.414 5.303-5.303 5.303 5.303 1.414-1.414-5.303-5.303z"/></g></svg></div></button></div><div>{state === "error" ? (<div><p>Unable to copy to clipboard, please manually copy the url toshare.</p></div>) : null}<input value={shareData.url} readOnly /><button onClick={copyClicked}>{getButtonText(state)}</button></div></div>);};export default SharePopup;