fix: add preview page

This commit is contained in:
David Nguyen
2025-11-05 17:18:15 +11:00
parent a810d20a4f
commit fc2e9af6a0
10 changed files with 383 additions and 132 deletions

View File

@ -16,6 +16,10 @@ type FileData =
status: 'loaded';
};
type EnvelopeRenderOverrideSettings = {
mode: 'edit' | 'sign' | 'export';
};
type EnvelopeRenderItem = TEnvelope['envelopeItems'][number];
type EnvelopeRenderProviderValue = {
@ -28,10 +32,12 @@ type EnvelopeRenderProviderValue = {
renderError: boolean;
setRenderError: (renderError: boolean) => void;
overrideSettings?: EnvelopeRenderOverrideSettings;
};
interface EnvelopeRenderProviderProps {
children: React.ReactNode;
envelope: Pick<TEnvelope, 'envelopeItems'>;
/**
@ -54,6 +60,11 @@ interface EnvelopeRenderProviderProps {
* If not provided, it will be assumed that the current user can access the document.
*/
token: string | undefined;
/**
* Custom override settings for generic page renderers.
*/
overrideSettings?: EnvelopeRenderOverrideSettings;
}
const EnvelopeRenderContext = createContext<EnvelopeRenderProviderValue | null>(null);
@ -77,6 +88,7 @@ export const EnvelopeRenderProvider = ({
fields,
token,
recipientIds = [],
overrideSettings,
}: EnvelopeRenderProviderProps) => {
// Indexed by documentDataId.
const [files, setFiles] = useState<Record<string, FileData>>({});
@ -185,6 +197,7 @@ export const EnvelopeRenderProvider = ({
getRecipientColorKey,
renderError,
setRenderError,
overrideSettings,
}}
>
{children}