{"version":3,"file":"static/chunks/5714.0987c6478200e2d3.js","mappings":"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","sources":["webpack://_N_E/./src/components/ModalsPortal/EarlyAccessModal.tsx","webpack://_N_E/./src/utils/is-email-address.ts"],"sourcesContent":["import React, { useEffect, useState } from \"react\"\nimport Modal from \"../Modal\"\nimport { useEarlyAccessStore } from \"@/stores\"\nimport { cdnPublicFolderUrl } from \"@/constants\"\nimport { FormProvider, useForm, useWatch } from \"react-hook-form\"\nimport Input from \"../Input\"\nimport IconButton from \"../IconButton\"\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\"\nimport client from \"@/api/client\"\nimport { JoinGaiaEarlyAccessDto } from \"@/api/sdk\"\nimport { googleAnalytics } from \"@/lib/gtag\"\nimport { useToast } from \"@/hooks\"\nimport { motion } from \"framer-motion\"\nimport useCustomRouter from \"@/hooks/useCustomRouter\"\nimport { isEmailAddress } from \"@/utils/is-email-address\"\n\nconst EarlyAccessModal = () => {\n const { earlyAccess, setEarlyAccess } = useEarlyAccessStore()\n const [isCompleted, setIsCompleted] = useState(false)\n const toast = useToast()\n\n const form = useForm({\n mode: \"onSubmit\",\n })\n\n const {\n setError,\n getValues,\n clearErrors,\n reset,\n register,\n formState: { errors },\n } = form\n\n const { email } = useWatch({\n control: form.control,\n })\n\n const onClose = () => {\n setEarlyAccess(false)\n setIsCompleted(false)\n reset()\n }\n\n const qc = useQueryClient()\n\n const { mutate, isPending } = useMutation({\n mutationFn: (data: JoinGaiaEarlyAccessDto) =>\n client.api.earlyAccessControllerJoinGaiaEarlyAccess(data).then(res => res.data),\n onSuccess: () => {\n setIsCompleted(true)\n\n qc.invalidateQueries({ queryKey: [\"countEarlyAccess\"] })\n },\n onError: (err: any) => {\n toast({\n status: \"error\",\n title: \"Error\",\n message: [err?.message || \"Something went wrong\"],\n })\n },\n })\n\n const submit = async (e: React.FormEvent) => {\n e.preventDefault()\n const data = getValues()\n let isValidate = true\n clearErrors()\n\n googleAnalytics.event({\n action: \"click\",\n label: \"early_access_submit\",\n category: \"early_access\",\n params: {\n email: data.email ?? \"\",\n },\n })\n\n if (!isEmailAddress(data.email)) {\n setError(\"email\", {\n message: \"Invalid email address\",\n })\n isValidate = false\n }\n if (!isValidate) return\n\n mutate(data)\n }\n\n const router = useCustomRouter()\n\n const renderBody = () => {\n if (isCompleted) {\n return (\n \n
\n
\n

\n 🚀Congrats 🚀\n
\n
\n Early access reserved!\n
\n Keep an eye out for the magic!\n

\n
\n
\n {\n if (router.pathname.includes(\"/explore\")) {\n onClose()\n } else {\n onClose()\n router.push(\"/explore\")\n }\n }}\n className=\"text-lg md:text-xl py-3 px-4 rounded-xl\"\n >\n Be Inspired\n \n
\n
\n \n )\n }\n\n return (\n \n
\n
\n
\n

\n Preregister to be among the first to experience GAIA!\n

\n
\n
\n \n {errors.email &&

{errors.email.message}

}\n
\n
\n \n
\n
\n
\n \n Register\n \n
\n
\n
\n
\n
\n )\n }\n\n return (\n \n
\n
\n
\n
\n
\n
{renderBody()}
\n
\n \n )\n}\n\nexport default EarlyAccessModal\n","const emailRegex =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\nconst passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[\\^$*.\\[\\]{}\\(\\)?\\-\\\"!@#%&\\/,><\\':;|_~`])\\S{8,99}$/\n\nexport const isEmailAddress = (email: string) => emailRegex.test(email)\n\nexport const isTelegramEmail = (email: string): boolean => {\n return /^[a-zA-Z0-9._%+-]+@(telegram\\.org)$/.test(email)\n}\n\nexport const isAcceptPassword = (email: string): boolean => {\n return passwordRegex.test(email)\n}\n"],"names":["__webpack_exports__","earlyAccess","setEarlyAccess","useEarlyAccessStore","isCompleted","setIsCompleted","useState","toast","useToast","form","useForm","mode","setError","getValues","clearErrors","reset","register","formState","errors","email","useWatch","control","onClose","qc","useQueryClient","mutate","isPending","useMutation","mutationFn","client","api","earlyAccessControllerJoinGaiaEarlyAccess","data","then","res","onSuccess","invalidateQueries","queryKey","onError","status","title","message","err","submit","e","preventDefault","isValidate","googleAnalytics","event","action","label","category","params","isEmailAddress","router","useCustomRouter","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Modal","closeButtonClassName","className","bodyClassName","containerClassName","isOpen","showCloseButton","jsxs","div","img","src","concat","cdnPublicFolderUrl","alt","width","height","motion","initial","opacity","animate","transition","duration","h3","br","IconButton","onClick","pathname","includes","push","FormProvider","id","onSubmit","Input","placeholder","p","disabled","isLoading","type","emailRegex","passwordRegex","test","isTelegramEmail","isAcceptPassword"],"sourceRoot":""}