diff --git a/apps/web/pages/documents.tsx b/apps/web/pages/documents.tsx index af6752d47..3bda20aff 100644 --- a/apps/web/pages/documents.tsx +++ b/apps/web/pages/documents.tsx @@ -303,16 +303,17 @@ const DocumentsPage: NextPageWithLayout = (props: any) => {
- { - event.preventDefault(); - event.stopPropagation(); - router.push("/documents/" + document.id); - }} - disabled={document.status === "COMPLETED"} - /> + {document.status !== "COMPLETED" && ( + { + event.preventDefault(); + event.stopPropagation(); + router.push("/documents/" + document.id); + }} + /> + )} {
{props.document.status !== DocumentStatus.COMPLETED && (
- { - if (confirm("Resend this signing request?")) { - setLoading(true); - sendSigningRequests(props.document, [item.id]).finally(() => { - setLoading(false); - }); + + - Resend - - { - const removedItem = { ...fields }[index]; - remove(index); - deleteRecipient(item)?.catch((err) => { - append(removedItem); - }); - }} - className="group-hover:text-neon-dark group-hover:disabled:text-gray-400" - /> + className="my-auto mr-4 h-9" + onClick={(event: any) => { + event.preventDefault(); + event.stopPropagation(); + if (confirm("Resend this signing request?")) { + setLoading(true); + sendSigningRequests(props.document, [item.id]).finally(() => { + setLoading(false); + }); + } + }}> + + + + { + event.preventDefault(); + event.stopPropagation(); + if (confirm("Delete this signing request?")) { + const removedItem = { ...fields }[index]; + remove(index); + deleteRecipient(item)?.catch((err) => { + append(removedItem); + }); + } + }} + className="group-hover:text-neon-dark group-hover:disabled:text-gray-400" + /> +
)} diff --git a/packages/ui/components/tooltip/Tooltip.tsx b/packages/ui/components/tooltip/Tooltip.tsx new file mode 100644 index 000000000..b7b3749e0 --- /dev/null +++ b/packages/ui/components/tooltip/Tooltip.tsx @@ -0,0 +1,34 @@ +import React, { useState } from "react"; + +export function Tooltip(props: any) { + let timeout: NodeJS.Timeout; + const [active, setActive] = useState(false); + + const showTip = () => { + timeout = setTimeout(() => { + setActive(true); + }, props.delay || 40); + }; + + const hideTip = () => { + clearInterval(timeout); + setActive(false); + }; + + return ( +
+ {props.children} + {active && ( +
+ + {props.label} + +
+ )} +
+ ); +}; diff --git a/packages/ui/components/tooltip/index.ts b/packages/ui/components/tooltip/index.ts new file mode 100644 index 000000000..3d7eea698 --- /dev/null +++ b/packages/ui/components/tooltip/index.ts @@ -0,0 +1 @@ +export { Tooltip } from "./Tooltip"; \ No newline at end of file diff --git a/packages/ui/index.ts b/packages/ui/index.ts index 1cb0c6752..a320043be 100644 --- a/packages/ui/index.ts +++ b/packages/ui/index.ts @@ -2,3 +2,4 @@ export { Button, IconButton } from "./components/button/index"; export { SelectBox } from "./components/selectBox/index"; export { Breadcrumb } from "./components/breadcrumb/index"; export { Dialog } from "./components/dialog/index"; +export { Tooltip } from "./components/tooltip/index";