diff --git a/auth/README.md b/auth/README.md deleted file mode 100644 index c4c0e5a19d..0000000000 --- a/auth/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Signup for self-hosted EE - -In order to open the signup, please replace the contents of the file in - -`cal.com/apps/web/pages/auth/signup.tsx` - -with the contents of the new file provided here in the @calcom/api repo at the folder: -`/auth/signup.tsx` - -Once you do, if you run your cal.com self-hosted instance and go to: -`http://localhost:3000/auth/signup` - -You should see the signup page, and your users should be able to create new accounts. - -Please, keep in mind this will create git conflict resolutions if you try to git pull from main, where the signup.tsx file will still be different. We will find a better workaround for this soon in order to make it pain free. diff --git a/auth/signup.tsx b/auth/signup.tsx deleted file mode 100644 index 6a04c71ecc..0000000000 --- a/auth/signup.tsx +++ /dev/null @@ -1,182 +0,0 @@ -import { GetServerSidePropsContext } from "next"; -import { signIn } from "next-auth/react"; -import { useRouter } from "next/router"; -import { FormProvider, SubmitHandler, useForm } from "react-hook-form"; - -import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Alert } from "@calcom/ui/Alert"; -import Button from "@calcom/ui/Button"; -import { EmailField, PasswordField, TextField } from "@calcom/ui/form/fields"; -import { HeadSeo } from "@calcom/web/components/seo/head-seo"; -import { asStringOrNull } from "@calcom/web/lib/asStringOrNull"; -import { WEBAPP_URL } from "@calcom/web/lib/config/constants"; -import prisma from "@calcom/web/lib/prisma"; -import { isSAMLLoginEnabled } from "@calcom/web/lib/saml"; -import { IS_GOOGLE_LOGIN_ENABLED } from "@calcom/web/server/lib/constants"; -import { ssrInit } from "@calcom/web/server/lib/ssr"; - -type FormValues = { - username: string; - email: string; - password: string; - passwordcheck: string; - apiError: string; -}; - -export default function Signup() { - const { t } = useLocale(); - const router = useRouter(); - const methods = useForm(); - const { - register, - formState: { errors, isSubmitting }, - } = methods; - - const handleErrors = async (resp: Response) => { - if (!resp.ok) { - const err = await resp.json(); - throw new Error(err.message); - } - }; - - const signUp: SubmitHandler = async (data) => { - await fetch("/api/auth/signup", { - body: JSON.stringify({ - ...data, - }), - headers: { - "Content-Type": "application/json", - }, - method: "POST", - }) - .then(handleErrors) - .then( - async () => - await signIn("Cal.com", { - callbackUrl: (`${WEBAPP_URL}/${router.query.callbackUrl}` || "") as string, - }) - ) - .catch((err) => { - methods.setError("apiError", { message: err.message }); - }); - }; - - return ( -
- -
-

- {t("create_your_account")} -

-
-
-
- -
- {errors.apiError && } -
- - {process.env.NEXT_PUBLIC_WEBSITE_URL}/ - - } - labelProps={{ className: "block text-sm font-medium text-gray-700" }} - className="block w-full min-w-0 flex-grow rounded-none rounded-r-sm border-gray-300 lowercase focus:border-black focus:ring-black sm:text-sm" - {...register("username")} - required - /> - - - - value === methods.watch("password") || (t("error_password_mismatch") as string), - })} - className="mt-1 block w-full rounded-md border border-gray-300 px-3 py-2 shadow-sm focus:border-black focus:outline-none focus:ring-black sm:text-sm" - /> -
-
- - -
- -
-
-
-
- ); -} - -export const getServerSideProps = async (ctx: GetServerSidePropsContext) => { - const ssr = await ssrInit(ctx); - const token = asStringOrNull(ctx.query.token); - if (token) { - const verificationToken = await prisma.verificationToken.findUnique({ - where: { - token, - }, - }); - if (verificationToken) { - const existingUser = await prisma.user.findFirst({ - where: { - AND: [ - { - email: verificationToken?.identifier, - }, - { - emailVerified: { - not: null, - }, - }, - ], - }, - }); - - if (existingUser) { - return { - redirect: { - permanent: false, - destination: "/auth/login?callbackUrl=" + `${WEBAPP_URL}/${ctx.query.callbackUrl}`, - }, - }; - } - } - } - - return { - props: { - isGoogleLoginEnabled: IS_GOOGLE_LOGIN_ENABLED, - isSAMLLoginEnabled, - trpcState: ssr.dehydrate(), - }, - }; -}; diff --git a/next.config.js b/next.config.js index 7cbb49652e..568fe06270 100644 --- a/next.config.js +++ b/next.config.js @@ -11,7 +11,6 @@ const withTM = require("next-transpile-modules")([ "@calcom/lib", "@calcom/prisma", "@calcom/trpc", - "@calcom/ui", ]); const { withAxiom } = require("next-axiom"); diff --git a/package.json b/package.json index 1484a4d8e8..b6fe3c392d 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,14 @@ "dependencies": { "@calcom/prisma": "*", "@calcom/trpc": "*", + "@calcom/embed-core": "*", + "@calcom/app-store": "*", + "@calcom/core": "*", + "@calcom/dayjs": "*", + "@calcom/emails": "*", + "@calcom/embed-snippet": "*", + "@calcom/features": "*", + "@calcom/lib": "*", "@sentry/nextjs": "^6.19.7", "bcryptjs": "^2.4.3", "memory-cache": "^0.2.0",