import { ActionIcon, Button, Stack, Text, TextInput } from "@mantine/core"; import { useClipboard } from "@mantine/hooks"; import { useModals } from "@mantine/modals"; import { ModalsContextProps } from "@mantine/modals/lib/context"; import moment from "moment"; import { useRouter } from "next/router"; import { TbCopy } from "react-icons/tb"; import { Share } from "../../../types/share.type"; import toast from "../../../utils/toast.util"; const showCompletedUploadModal = ( modals: ModalsContextProps, share: Share, appUrl: string ) => { return modals.openModal({ closeOnClickOutside: false, withCloseButton: false, closeOnEscape: false, title: "Share ready", children: , }); }; const Body = ({ share, appUrl }: { share: Share; appUrl: string }) => { const clipboard = useClipboard({ timeout: 500 }); const modals = useModals(); const router = useRouter(); const link = `${appUrl}/share/${share.id}`; return ( { clipboard.copy(link); toast.success("Your link was copied to the keyboard."); }} > ) } /> ({ color: theme.colors.gray[6], })} > {/* If our share.expiration is timestamp 0, show a different message */} {moment(share.expiration).unix() === 0 ? "This share will never expire." : `This share will expire on ${moment(share.expiration).format( "LLL" )}`} ); }; export default showCompletedUploadModal;