mirror of
https://github.com/documenso/documenso.git
synced 2025-11-16 09:41:35 +10:00
💬 🗃️ ✨user signup source and viral signup links
This commit is contained in:
@ -14,7 +14,7 @@ type FormValues = {
|
||||
apiError: string;
|
||||
};
|
||||
|
||||
export default function Signup() {
|
||||
export default function Signup(props: { source: string }) {
|
||||
const methods = useForm<FormValues>({});
|
||||
const {
|
||||
register,
|
||||
@ -34,6 +34,7 @@ export default function Signup() {
|
||||
.promise(
|
||||
fetch("/api/auth/signup", {
|
||||
body: JSON.stringify({
|
||||
source: props.source,
|
||||
...data,
|
||||
}),
|
||||
headers: {
|
||||
|
||||
@ -6,8 +6,7 @@ import { hashPassword } from "@documenso/lib/auth";
|
||||
import { defaultHandler, defaultResponder } from "@documenso/lib/server";
|
||||
|
||||
async function postHandler(req: NextApiRequest, res: NextApiResponse) {
|
||||
const data = req.body;
|
||||
const { email, password } = data;
|
||||
const { email, password, source } = req.body;
|
||||
const cleanEmail = email.toLowerCase();
|
||||
|
||||
if (!cleanEmail || !cleanEmail.includes("@")) {
|
||||
@ -46,6 +45,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
|
||||
email: cleanEmail,
|
||||
password: hashedPassword,
|
||||
identityProvider: IdentityProvider.DOCUMENSO,
|
||||
source: source,
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -67,7 +67,10 @@ const SignPage: NextPageWithLayout = (props: any) => {
|
||||
</div>
|
||||
<p className="mt-4 text-center text-sm text-gray-600">
|
||||
Want to send slick signing links like this one?{" "}
|
||||
<Link href="/signup" className="font-medium text-neon hover:text-neon">
|
||||
<Link
|
||||
href="/signup?source=signed"
|
||||
className="font-medium text-neon hover:text-neon"
|
||||
>
|
||||
Create your own Account
|
||||
</Link>
|
||||
</p>
|
||||
|
||||
@ -1,13 +1,23 @@
|
||||
import { NextPageContext } from "next";
|
||||
import Head from "next/head";
|
||||
import Signup from "../components/signup";
|
||||
|
||||
export default function SignupPage() {
|
||||
export default function SignupPage(props: { source: string }) {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>Signup | Documenso</title>
|
||||
</Head>
|
||||
<Signup></Signup>
|
||||
<Signup source={props.source}></Signup>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export async function getServerSideProps(context: any) {
|
||||
const signupSource: string = context.query["source"];
|
||||
return {
|
||||
props: {
|
||||
source: signupSource ? signupSource : "",
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user