import { ActionIcon, Button, Stack, Text, TextInput, Title } 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 { Copy } from "tabler-icons-react"; import { Share } from "../../types/share.type"; import toast from "../../utils/toast.util"; import getConfig from "next/config"; const {publicRuntimeConfig} = getConfig(); const showCompletedUploadModal = ( modals: ModalsContextProps, share: Share, ) => { return modals.openModal({ closeOnClickOutside: false, withCloseButton: false, closeOnEscape: false, title: ( Share ready ), children: , }); }; const Body = ({share}: { share: Share }) => { const clipboard = useClipboard({timeout: 500}); const modals = useModals(); const router = useRouter(); const link = `${window.location.origin}/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 ${ (publicRuntimeConfig.TWELVE_HOUR_TIME === "true") ? moment(share.expiration).format("MMMM Do YYYY, h:mm a") : moment(share.expiration).format("MMMM DD YYYY, HH:mm")}`} ); }; export default showCompletedUploadModal;