Merge branch 'main' into harkirat/Protect

This commit is contained in:
Harkirat Singh
2024-01-10 10:45:19 +05:30
committed by GitHub
12 changed files with 693 additions and 339 deletions

View File

@ -13,9 +13,9 @@
·
<a href="https://github.com/documenso/documenso/issues">Issues</a>
·
<a href="https://github.com/documenso/documenso/milestones">Roadmap</a>
<a href="https://documen.so/live">Upcoming Releases</a>
·
<a href="https://documen.so/launches">Upcoming Launches</a>
<a href="https://documen.so/roadmap">Roadmap</a>
</p>
</p>
@ -284,12 +284,16 @@ WantedBy=multi-user.target
### Railway
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/DjrRRX)
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/bG6D4p)
### Render
[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/documenso/documenso)
### Koyeb
[![Deploy to Koyeb](https://www.koyeb.com/static/images/deploy/button.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/documenso/documenso&branch=main&name=documenso-app&builder=dockerfile&dockerfile=/docker/Dockerfile)
## Troubleshooting
### I'm not receiving any emails when using the developer quickstart.

View File

@ -36,7 +36,7 @@
"react-hook-form": "^7.43.9",
"react-icons": "^4.11.0",
"recharts": "^2.7.2",
"sharp": "0.32.5",
"sharp": "0.33.1",
"typescript": "5.2.2",
"zod": "^3.22.4"
},

View File

@ -1,6 +1,7 @@
'use client';
import { HTMLAttributes, KeyboardEvent, useMemo, useState } from 'react';
import type { HTMLAttributes, KeyboardEvent } from 'react';
import { useMemo, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { AnimatePresence, motion } from 'framer-motion';
@ -90,10 +91,10 @@ export const Widget = ({ className, children, ...props }: WidgetProps) => {
}
if (step === STEP.EMAIL) {
return 1;
return 3;
}
return 3;
return 1;
}, [step]);
const onNextStepClick = () => {

View File

@ -42,7 +42,7 @@
"react-hotkeys-hook": "^4.4.1",
"react-icons": "^4.11.0",
"react-rnd": "^10.4.1",
"sharp": "0.32.5",
"sharp": "0.33.1",
"ts-pattern": "^5.0.5",
"typescript": "5.2.2",
"uqr": "^0.1.2",

View File

@ -49,6 +49,11 @@ export const SigningForm = ({ document, recipient, fields }: SigningFormProps) =
return sortFieldsByPosition(fields.filter((field) => !field.inserted));
}, [fields]);
const fieldsValidated = () => {
setValidateUninsertedFields(true);
validateFieldsInserted(fields);
};
const onFormSubmit = async () => {
setValidateUninsertedFields(true);
@ -154,6 +159,7 @@ export const SigningForm = ({ document, recipient, fields }: SigningFormProps) =
onSignatureComplete={handleSubmit(onFormSubmit)}
document={document}
fields={fields}
fieldsValidated={fieldsValidated}
/>
</div>
</div>

View File

@ -15,6 +15,7 @@ export type SignDialogProps = {
isSubmitting: boolean;
document: Document;
fields: Field[];
fieldsValidated: () => void | Promise<void>;
onSignatureComplete: () => void | Promise<void>;
};
@ -22,6 +23,7 @@ export const SignDialog = ({
isSubmitting,
document,
fields,
fieldsValidated,
onSignatureComplete,
}: SignDialogProps) => {
const [showDialog, setShowDialog] = useState(false);
@ -29,16 +31,16 @@ export const SignDialog = ({
const isComplete = fields.every((field) => field.inserted);
return (
<Dialog open={showDialog} onOpenChange={setShowDialog}>
<Dialog open={showDialog && isComplete} onOpenChange={setShowDialog}>
<DialogTrigger asChild>
<Button
className="w-full"
type="button"
size="lg"
disabled={!isComplete}
onClick={fieldsValidated}
loading={isSubmitting}
>
Complete
{isComplete ? 'Complete' : 'Next field'}
</Button>
</DialogTrigger>
<DialogContent>

979
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
"eslint-config-next": "13.4.19",
"eslint-config-prettier": "^8.8.0",
"eslint-config-turbo": "^1.9.3",
"eslint-plugin-package-json": "^0.1.4",
"eslint-plugin-package-json": "^0.2.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-unused-imports": "^3.0.0",

View File

@ -8,6 +8,7 @@ export type CreateDocumentMetaOptions = {
message: string;
timezone: string;
dateFormat: string;
userId: number;
};
export const upsertDocumentMeta = async ({
@ -16,7 +17,15 @@ export const upsertDocumentMeta = async ({
timezone,
dateFormat,
documentId,
userId,
}: CreateDocumentMetaOptions) => {
await prisma.document.findFirstOrThrow({
where: {
id: documentId,
userId,
},
});
return await prisma.documentMeta.upsert({
where: {
documentId,

View File

@ -8,7 +8,7 @@
},
"dependencies": {
"autoprefixer": "^10.4.13",
"postcss": "^8.4.21",
"postcss": "^8.4.32",
"tailwindcss": "3.3.2",
"tailwindcss-animate": "^1.0.5"
},

View File

@ -188,6 +188,7 @@ export const documentRouter = router({
message: meta.message,
dateFormat: meta.dateFormat,
timezone: meta.timezone,
userId: ctx.user.id,
});
}

4
railway.toml Normal file
View File

@ -0,0 +1,4 @@
[build]
builder = "DOCKERFILE"
dockerfilePath = "/docker/Dockerfile"