refactor: singature pad & provider stuff

Signed-off-by: Adithya Krishna <adi@documenso.com>
This commit is contained in:
Adithya Krishna
2024-01-12 17:13:00 +05:30
parent e17e4566cd
commit 0b8e84b6b7
3 changed files with 33 additions and 29 deletions

View File

@ -1,19 +1,24 @@
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
import { SigningProvider } from '~/app/(signing)/sign/[token]/provider';
import { ProfileForm } from '~/components/forms/profile';
export default async function ProfileSettingsPage() {
const { user } = await getRequiredServerComponentSession();
return (
<div>
<h3 className="text-2xl font-semibold">Profile</h3>
<SigningProvider email={user.email} fullName={user.name} signature={user.signature}>
<div>
<h3 className="text-2xl font-semibold">Profile</h3>
<p className="text-muted-foreground mt-2 text-sm">Here you can edit your personal details.</p>
<p className="text-muted-foreground mt-2 text-sm">
Here you can edit your personal details.
</p>
<hr className="my-4" />
<hr className="my-4" />
<ProfileForm user={user} className="max-w-xl" />
</div>
<ProfileForm user={user} className="max-w-xl" />
</div>
</SigningProvider>
);
}

View File

@ -7,7 +7,7 @@ import { Loader } from 'lucide-react';
import { Controller, useForm } from 'react-hook-form';
import { z } from 'zod';
import { User } from '@documenso/prisma/client';
import type { User } from '@documenso/prisma/client';
import { TRPCClientError } from '@documenso/trpc/client';
import { trpc } from '@documenso/trpc/react';
import { cn } from '@documenso/ui/lib/utils';
@ -17,6 +17,8 @@ import { Label } from '@documenso/ui/primitives/label';
import { SignaturePad } from '@documenso/ui/primitives/signature-pad';
import { useToast } from '@documenso/ui/primitives/use-toast';
import { useRequiredSigningContext } from '~/app/(signing)/sign/[token]/provider';
import { FormErrorMessage } from '../form/form-error-message';
export const ZProfileFormSchema = z.object({
@ -36,6 +38,8 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
const { toast } = useToast();
const { signature, setSignature } = useRequiredSigningContext();
const {
register,
control,
@ -121,6 +125,8 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
containerClassName="rounded-lg border bg-background"
defaultValue={user.signature ?? undefined}
onChange={(v) => onChange(v ?? '')}
signature={signature}
setSignature={setSignature}
/>
)}
/>