MCPcopy
hub / github.com/calcom/cal.diy / Signup

Function Signup

apps/web/modules/signup-view.tsx:185–882  ·  view source on GitHub ↗
({
  prepopulateFormValues,
  token,
  orgSlug,
  isGoogleLoginEnabled,
  isSAMLLoginEnabled,
  orgAutoAcceptEmail,
  redirectUrl,
  emailVerificationEnabled,
  onboardingV3Enabled,
}: SignupProps)

Source from the content-addressed store, hash-verified

183}
184
185export default function Signup({
186 prepopulateFormValues,
187 token,
188 orgSlug,
189 isGoogleLoginEnabled,
190 isSAMLLoginEnabled,
191 orgAutoAcceptEmail,
192 redirectUrl,
193 emailVerificationEnabled,
194 onboardingV3Enabled,
195}: SignupProps) {
196 const isOrgInviteByLink = orgSlug && !prepopulateFormValues?.username;
197 const [isSamlSignup, setIsSamlSignup] = useState(false);
198 const [premiumUsername, setPremiumUsername] = useState(false);
199 const [usernameTaken, setUsernameTaken] = useState(false);
200 const [isGoogleLoading, setIsGoogleLoading] = useState(false);
201 const [accountUnderReview, setAccountUnderReview] = useState(false);
202 const [displayEmailForm, setDisplayEmailForm] = useState(token);
203 const [turnstileKey, setTurnstileKey] = useState(0);
204 const searchParams = useCompatSearchParams();
205 const { t, i18n } = useLocale();
206 const router = useRouter();
207 const formMethods = useForm<FormValues>({
208 resolver: zodResolver(signupSchema),
209 defaultValues: prepopulateFormValues satisfies FormValues,
210 mode: "onTouched",
211 });
212 const {
213 register,
214 watch,
215 formState: { isSubmitting, errors, isSubmitSuccessful },
216 } = formMethods;
217
218 useEffect(() => {
219 if (redirectUrl) {
220 localStorage.setItem("onBoardingRedirect", redirectUrl);
221 }
222 }, [redirectUrl]);
223
224 const [userConsentToCookie, setUserConsentToCookie] = useState(false); // No need to be checked for user to proceed
225
226 function handleConsentChange(consent: boolean) {
227 setUserConsentToCookie(!consent);
228 }
229
230 const loadingSubmitState = isSubmitSuccessful || isSubmitting;
231 const displayBackButton = token ? false : displayEmailForm;
232
233 const isPlatformUser = redirectUrl?.includes("platform") && redirectUrl?.includes("new");
234
235 const signUp: SubmitHandler<FormValues> = async (_data) => {
236 const { cfToken, ...data } = _data;
237
238 posthog.capture("signup_form_submitted", {
239 has_token: !!token,
240 is_org_invite: isOrgInviteByLink,
241 org_slug: orgSlug,
242 is_premium_username: premiumUsername,

Callers

nothing calls this directly

Calls 15

useCompatSearchParamsFunction · 0.90
useLocaleFunction · 0.90
getOrgUsernameFromEmailFunction · 0.90
getOrgFullOriginFunction · 0.90
showToastFunction · 0.90
getPremiumPlanPriceValueFunction · 0.90
classNamesFunction · 0.85
signUpFunction · 0.85
truncateDomainFunction · 0.85
handleConsentChangeFunction · 0.85
getMethod · 0.65
useRouterFunction · 0.50

Tested by

no test coverage detected