mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 07:43:16 +10:00
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
import { redirect } from 'react-router';
|
|
|
|
import {
|
|
IS_GOOGLE_SSO_ENABLED,
|
|
IS_MICROSOFT_SSO_ENABLED,
|
|
IS_OIDC_SSO_ENABLED,
|
|
} from '@documenso/lib/constants/auth';
|
|
import { env } from '@documenso/lib/utils/env';
|
|
import { isValidReturnTo, normalizeReturnTo } from '@documenso/lib/utils/is-valid-return-to';
|
|
|
|
import { SignUpForm } from '~/components/forms/signup';
|
|
import { appMetaTags } from '~/utils/meta';
|
|
|
|
import type { Route } from './+types/signup';
|
|
|
|
export function meta() {
|
|
return appMetaTags('Sign Up');
|
|
}
|
|
|
|
export function loader({ request }: Route.LoaderArgs) {
|
|
const NEXT_PUBLIC_DISABLE_SIGNUP = env('NEXT_PUBLIC_DISABLE_SIGNUP');
|
|
|
|
// SSR env variables.
|
|
const isGoogleSSOEnabled = IS_GOOGLE_SSO_ENABLED;
|
|
const isMicrosoftSSOEnabled = IS_MICROSOFT_SSO_ENABLED;
|
|
const isOIDCSSOEnabled = IS_OIDC_SSO_ENABLED;
|
|
|
|
if (NEXT_PUBLIC_DISABLE_SIGNUP === 'true') {
|
|
throw redirect('/signin');
|
|
}
|
|
|
|
let returnTo = new URL(request.url).searchParams.get('returnTo') ?? undefined;
|
|
|
|
returnTo = isValidReturnTo(returnTo) ? normalizeReturnTo(returnTo) : undefined;
|
|
|
|
return {
|
|
isGoogleSSOEnabled,
|
|
isMicrosoftSSOEnabled,
|
|
isOIDCSSOEnabled,
|
|
returnTo,
|
|
};
|
|
}
|
|
|
|
export default function SignUp({ loaderData }: Route.ComponentProps) {
|
|
const { isGoogleSSOEnabled, isMicrosoftSSOEnabled, isOIDCSSOEnabled, returnTo } = loaderData;
|
|
|
|
return (
|
|
<SignUpForm
|
|
className="w-screen max-w-screen-2xl px-4 md:px-16 lg:-my-16"
|
|
isGoogleSSOEnabled={isGoogleSSOEnabled}
|
|
isMicrosoftSSOEnabled={isMicrosoftSSOEnabled}
|
|
isOIDCSSOEnabled={isOIDCSSOEnabled}
|
|
returnTo={returnTo}
|
|
/>
|
|
);
|
|
}
|