This commit is contained in:
David Nguyen
2025-01-31 23:17:50 +11:00
parent aec44b78d0
commit e20cb7e179
79 changed files with 3613 additions and 300 deletions

View File

@ -9,7 +9,7 @@ import { authDebugger } from '../utils/debugger';
* @param c - The Hono context.
*/
export const getSessionCookie = async (c: Context) => {
const sessionId = await getSignedCookie(c, 'secret', 'sessionId');
const sessionId = await getSignedCookie(c, 'secret', 'sessionId'); // Todo: Use secret
return sessionId;
};

View File

@ -3,6 +3,6 @@ import { env } from '@documenso/lib/utils/env';
// Todo: Delete
export const authDebugger = (message: string) => {
if (env('NODE_ENV') === 'development') {
console.log(`[DEBUG]: ${message}`);
// console.log(`[DEBUG]: ${message}`);
}
};

View File

@ -0,0 +1,29 @@
import { createContext, useContext } from 'react';
import React from 'react';
import type { Session, User } from '@prisma/client';
interface AuthProviderProps {
children: React.ReactNode;
session: Session;
user: User;
}
const SessionContext = createContext<{
user: User; // Todo: Exclude password
session: Session;
} | null>(null);
export const useSession = () => {
const context = useContext(SessionContext);
if (!context) {
throw new Error('useAuth must be used within a AuthProvider');
}
return context;
};
export const SessionProvider = ({ children, session, user }: AuthProviderProps) => {
return <SessionContext.Provider value={{ session, user }}>{children}</SessionContext.Provider>;
};

View File

@ -1,5 +1,3 @@
'use client';
import React, { useCallback, useId, useMemo, useRef, useState } from 'react';
import type { DropResult, SensorAPI } from '@hello-pangea/dnd';
@ -11,11 +9,11 @@ import type { Field, Recipient } from '@prisma/client';
import { DocumentSigningOrder, RecipientRole, SendStatus } from '@prisma/client';
import { motion } from 'framer-motion';
import { GripVerticalIcon, Plus, Trash } from 'lucide-react';
import { useSession } from 'next-auth/react';
import { useFieldArray, useForm } from 'react-hook-form';
import { prop, sortBy } from 'remeda';
import { useLimits } from '@documenso/ee/server-only/limits/provider/client';
import { useSession } from '@documenso/lib/client-only/providers/session';
import { ZRecipientAuthOptionsSchema } from '@documenso/lib/types/document-auth';
import { nanoid } from '@documenso/lib/universal/id';
import { canRecipientBeModified as utilCanRecipientBeModified } from '@documenso/lib/utils/recipients';
@ -65,9 +63,7 @@ export const AddSignersFormPartial = ({
const { _ } = useLingui();
const { toast } = useToast();
const { remaining } = useLimits();
const { data: session } = useSession();
const user = session?.user;
const { user } = useSession();
const initialId = useId();
const $sensorApi = useRef<SensorAPI | null>(null);

View File

@ -1,5 +1,3 @@
'use client';
import React, { useEffect, useMemo, useRef, useState } from 'react';
import { Trans, msg } from '@lingui/macro';