diff --git a/apps/web/pages/documents.tsx b/apps/web/pages/documents.tsx index d478cc231..b1282a7f6 100644 --- a/apps/web/pages/documents.tsx +++ b/apps/web/pages/documents.tsx @@ -23,7 +23,7 @@ import { NextPageContext } from "next"; const DocumentsPage: NextPageWithLayout = (props: any) => { const router = useRouter(); const [documents, setDocuments]: any[] = useState([]); - const [filterdDocuments, setFilteredDocuments] = useState([]); + const [filteredDocuments, setFilteredDocuments] = useState([]); const [loading, setLoading] = useState(true); const statusFilters = [ @@ -138,8 +138,8 @@ const DocumentsPage: NextPageWithLayout = (props: any) => {
- {filterdDocuments.length != 1 - ? filterdDocuments.length + " Documents" + {filteredDocuments.length != 1 + ? filteredDocuments.length + " Documents" : "1 Document"}
{ - {filterdDocuments.map((document: any, index: number) => ( + {filteredDocuments.map((document: any, index: number) => ( { event.stopPropagation(); router.push("/documents/" + document.id); }} - > - Edit - + /> { event.stopPropagation(); router.push("/api/documents/" + document.id); }} - > - Download - + /> { @@ -384,7 +380,7 @@ const DocumentsPage: NextPageWithLayout = (props: any) => {
-
+
{ + if (confirm("Resend this signing request?")) { + setLoading(true); + send(props.document, [item.id]).finally(() => { + setLoading(false); + }); + } + }} + > + Resend + + { }); }} className="group-hover:text-neon-dark group-hover:disabled:text-gray-400" - > + />
@@ -445,17 +466,13 @@ export async function getServerSideProps(context: any) { }; } -async function send(document: any) { - // todo toast - // loading +async function send(document: any, resendTo: number[] = []) { if (!document || !document.id) return; try { const sent = await toast.promise( fetch(`/api/documents/${document.id}/send`, { - body: "", - headers: { - "Content-Type": "application/json", - }, + body: JSON.stringify({ resendTo: resendTo }), + headers: { "Content-Type": "application/json" }, method: "POST", }) .then((res: any) => { diff --git a/packages/lib/mail/sendSigningRequest.ts b/packages/lib/mail/sendSigningRequest.ts index ec91f5fce..d042b9a82 100644 --- a/packages/lib/mail/sendSigningRequest.ts +++ b/packages/lib/mail/sendSigningRequest.ts @@ -1,6 +1,6 @@ import prisma from "@documenso/prisma"; import { sendMail } from "./sendMail"; -import { SendStatus, DocumentStatus } from "@prisma/client"; +import { SendStatus, ReadStatus, DocumentStatus } from "@prisma/client"; import { NEXT_PUBLIC_WEBAPP_URL } from "../constants"; import { signingRequestTemplate } from "@documenso/lib/mail"; @@ -27,7 +27,7 @@ export const sendSigningRequest = async ( where: { id: recipient.id, }, - data: { sendStatus: SendStatus.SENT }, + data: { sendStatus: SendStatus.SENT, readStatus: ReadStatus.NOT_OPENED }, }); await prisma.document.update({