{"version":3,"file":"static/chunks/pages/auth/sign-up-a0db756b738b4080.js","mappings":"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","sources":["webpack://_N_E/?f153","webpack://_N_E/./components/modals/fullscreen-modal-alt.tsx","webpack://_N_E/./pages/auth/sign-up.tsx","webpack://_N_E/./validators/email.ts","webpack://_N_E/./validators/password.ts"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/auth/sign-up\",\n function () {\n return require(\"private-next-pages/auth/sign-up.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/auth/sign-up\"])\n });\n }\n ","import { ClassProps } from \"@/lib/types/class-props\";\nimport { cx } from \"@/lib/utils/className.utils\";\nimport { Transition, Menu } from \"@headlessui/react\";\nimport { Fragment } from \"react\";\n\nexport type ModalProps = {\n title?: string;\n children: React.ReactNode;\n open: boolean;\n onClose: () => void;\n containerClassName?: string;\n} & ClassProps;\n\nconst FullScreenModalAlt = ({\n open,\n children,\n className,\n containerClassName,\n}: ModalProps) => {\n return (\n <>\n \n \n \n \n \n\n \n \n \n \n {children}\n \n \n \n \n \n \n >\n );\n};\n\nexport default FullScreenModalAlt;\n","import Head from \"next/head\";\nimport { useRouter } from \"next/router\";\nimport Cookies from 'js-cookie';\nimport { FormEvent, useEffect, useState } from \"react\";\nimport PrimaryButton from \"../../components/buttons/primary-button\";\nimport { useSearchFilters } from \"../../src/contexts/FilterContext\";\nimport Link from \"next/link\";\nimport Input from \"../../components/forms/input\";\nimport api from \"../../lib/api-config\";\nimport { passwordValidator } from \"../../validators/password\";\nimport BackgroundPattern from \"../../components/auth/background-pattern\";\nimport Icon from \"../../components/icons/icon\";\nimport EventModal from \"../../components/modals/event-modal\";\nimport { emailValidator } from \"../../validators/email\";\nimport SafeContainer from \"../../components/navigation/safe-container\";\nimport FullScreenModalAlt from \"../../components/modals/fullscreen-modal-alt\";\nimport VerifyEmail from \"./verify-email\";\nimport Check from \"../../components/icons/lib/check\";\nimport Confused from \"../../components/icons/lib/confused\";\n\nconst ResetPassword = () => {\n const router = useRouter();\n const [promoCode, setPromoCode] = useState(\"\");\n\n // hooks\n const { setHideSearchBar } = useSearchFilters();\n\n // states\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [agreeWithTerms, setAgreeWithTerms] = useState(false);\n const [verifyEmailModal, setVerifyEmailModal] = useState(false);\n\n const [validInputs, setValidInputs] = useState({\n password: true,\n confirmPassword: true,\n email: true,\n });\n\n useEffect(() => {\n setPromoCode(Cookies.get(\"promo-code\") || \"\");\n }, [setPromoCode]);\n\n useEffect(() => {\n setHideSearchBar(true);\n }, [setHideSearchBar]);\n\n useEffect(() => {\n if (error === \"An account with the given email already exists.\") {\n setError(\"An account with that email already exists.\");\n }\n }, [error]);\n\n const validatePassword = (password: string) => {\n const passwordValid = passwordValidator(password);\n const confirmPasswordValid = confirmPassword === password;\n setValidInputs({\n ...validInputs,\n password: passwordValid,\n confirmPassword: confirmPasswordValid,\n });\n return passwordValid;\n };\n\n const validateConfirmPassword = (confirmPassword: string) => {\n const confirmPasswordValid = confirmPassword === password;\n setValidInputs({ ...validInputs, confirmPassword: confirmPasswordValid });\n return confirmPasswordValid;\n };\n\n const validateEmail = (email: string) => {\n const valid = emailValidator(email);\n setValidInputs({ ...validInputs, email: valid });\n return valid;\n };\n\n const validateForm = () => {\n return Object.values(validInputs).every((input) => input === true);\n };\n\n const onSubmit = async (event: FormEvent) => {\n try {\n setLoading(true);\n event.preventDefault();\n if (!validateForm()) return;\n const { error: apiError } = (\n await api.post(\"auth/register\", {\n email: email.toLowerCase(),\n password: password,\n })\n ).data;\n\n if (apiError) throw apiError;\n\n setVerifyEmailModal(true);\n return;\n } catch (apiError: any) {\n setLoading(false);\n router.push({\n pathname: \"login\",\n query: { showSignUpModal: true }, // Pass boolean as query parameter\n });\n }\n };\n\n return (\n <>\n \n Sign Up | Lutely\n \n \n \n \n \n \n \n \n \n \n Sign Up\n \n {promoCode && (\n \n Promo code {promoCode} will be applied at checkout\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n\n \n Your password must contain at least 1 number, 1 special\n character, and be a minimum of 8 characters.\n \n\n \n {\n setAgreeWithTerms(!agreeWithTerms);\n }}\n className={` mt-1 flex items-center justify-center rounded-sm min-h-[20px] min-w-[20px] w-[20px] h-[20px] ${\n agreeWithTerms\n ? \"bg-purple\"\n : \"border-[2px] border-grayLight\"\n }`}\n type=\"button\"\n >\n {agreeWithTerms && (\n \n )}\n \n \n I agree to the{\" \"}\n \n Terms of Use{\" \"}\n {\" \"}\n and to the{\" \"}\n \n Privacy Policy\n \n {agreeWithTerms ? \"\" : \" *\"}\n \n \n \n \n\n *>p]:font-bold h-14 [&>*]:w-full [&>*]:flex [&>*]:justify-center\"\n onClick={() => null}\n />\n\n \n \n Already have an account?{\" \"}\n \n Log In\n \n \n \n \n \n \n \n setError(\"\")}\n />\n {/* Verify Email Modal */}\n setVerifyEmailModal(false)}\n >\n \n \n \n >\n );\n};\n\nexport default ResetPassword;\n","export const emailValidator = (email: string) => {\n const re = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n if (!re.test(email)) {\n return false;\n } else {\n return true;\n }\n };","export const passwordValidator = (password: string) => {\n // Your password must contain at least 1 number, 1 special character (!@#$%^&*.,?-_()[]+={}>\\|), and be a minimum of 8 characters.\n const passwordRegex = /^(?=.*[0-9])(?=.*[!@#$%^&*.,?_\\-()[\\]+={}><\\/\\\\|:';~`\"])[a-zA-Z0-9!@#$%^&*.,?_\\-()[\\]+={}><\\/\\\\|:';~`\"]{8,}$/;\n if (!passwordRegex.test(password)) {\n return false;\n } else {\n return true;\n }\n};\n\nexport const confirmPasswordValidator = (confirmPassword: string, password: string) => {\n if (confirmPassword !== password) {\n return false;\n } else {\n return true;\n }\n };"],"names":["window","__NEXT_P","push","__webpack_require__","__webpack_exports__","Z","open","children","className","containerClassName","param","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Fragment","Transition","appear","show","as","jsxs","Menu","cx","Child","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","div","router","useRouter","promoCode","setPromoCode","useState","setHideSearchBar","useSearchFilters","email","setEmail","password","setPassword","confirmPassword","setConfirmPassword","error","setError","loading","setLoading","agreeWithTerms","setAgreeWithTerms","verifyEmailModal","setVerifyEmailModal","validInputs","setValidInputs","useEffect","Cookies","get","validateForm","Object","values","every","input","onSubmit","event","preventDefault","apiError","api","post","toLowerCase","data","pathname","query","showSignUpModal","Head","title","link","rel","href","meta","name","content","SafeContainer","navbar","main","BackgroundPattern","h1","span","form","Input","type","placeholder","value","setValue","valid","validate","emailValidator","passwordValid","passwordValidator","confirmPasswordValid","errorMessage","autoComplete","p","concat","length","button","id","onClick","Icon","icon","Check","Link","target","PrimaryButton","text","disabled","EventModal","subtitle","buttonText","Confused","isOpen","closeModal","FullScreenModalAlt","onClose","VerifyEmail","re","test","passwordRegex"],"sourceRoot":""}
\n Your password must contain at least 1 number, 1 special\n character, and be a minimum of 8 characters.\n
\n I agree to the{\" \"}\n \n Terms of Use{\" \"}\n {\" \"}\n and to the{\" \"}\n \n Privacy Policy\n \n {agreeWithTerms ? \"\" : \" *\"}\n \n \n
\n Already have an account?{\" \"}\n \n Log In\n \n