mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 00:03:33 +10:00
## Description Add support for teams which will allow users to collaborate on documents. Teams features allows users to: - Create, manage and transfer teams - Manage team members - Manage team emails - Manage a shared team inbox and documents These changes do NOT include the following, which are planned for a future release: - Team templates - Team API - Search menu integration ## Testing Performed - Added E2E tests for general team management - Added E2E tests to validate document counts ## Checklist - [X] I have tested these changes locally and they work as expected. - [X] I have added/updated tests that prove the effectiveness of these changes. - [ ] I have updated the documentation to reflect these changes, if applicable. - [X] I have followed the project's coding style guidelines.
62 lines
1.6 KiB
TypeScript
62 lines
1.6 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import Link from 'next/link';
|
|
import { redirect } from 'next/navigation';
|
|
|
|
import { IS_GOOGLE_SSO_ENABLED } from '@documenso/lib/constants/auth';
|
|
import { decryptSecondaryData } from '@documenso/lib/server-only/crypto/decrypt';
|
|
|
|
import { SignInForm } from '~/components/forms/signin';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Sign In',
|
|
};
|
|
|
|
type SignInPageProps = {
|
|
searchParams: {
|
|
email?: string;
|
|
};
|
|
};
|
|
|
|
export default function SignInPage({ searchParams }: SignInPageProps) {
|
|
const rawEmail = typeof searchParams.email === 'string' ? searchParams.email : undefined;
|
|
const email = rawEmail ? decryptSecondaryData(rawEmail) : null;
|
|
|
|
if (!email && rawEmail) {
|
|
redirect('/signin');
|
|
}
|
|
|
|
return (
|
|
<div>
|
|
<h1 className="text-4xl font-semibold">Sign in to your account</h1>
|
|
|
|
<p className="text-muted-foreground/60 mt-2 text-sm">
|
|
Welcome back, we are lucky to have you.
|
|
</p>
|
|
|
|
<SignInForm
|
|
className="mt-4"
|
|
initialEmail={email || undefined}
|
|
isGoogleSSOEnabled={IS_GOOGLE_SSO_ENABLED}
|
|
/>
|
|
|
|
{process.env.NEXT_PUBLIC_DISABLE_SIGNUP !== 'true' && (
|
|
<p className="text-muted-foreground mt-6 text-center text-sm">
|
|
Don't have an account?{' '}
|
|
<Link href="/signup" className="text-primary duration-200 hover:opacity-70">
|
|
Sign up
|
|
</Link>
|
|
</p>
|
|
)}
|
|
|
|
<p className="mt-2.5 text-center">
|
|
<Link
|
|
href="/forgot-password"
|
|
className="text-muted-foreground text-sm duration-200 hover:opacity-70"
|
|
>
|
|
Forgot your password?
|
|
</Link>
|
|
</p>
|
|
</div>
|
|
);
|
|
}
|