{"version":3,"file":"ActivatePage-8a405e32.js","sources":["../src/public/ActivatePage.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router';\nimport axios from 'axios';\nimport * as config from '../config';\nimport { Button, Container, Dimmer, Divider, Form, Header, Loader } from 'semantic-ui-react';\nimport md5 from 'md5';\n\nconst defaultData = {\n email: '',\n password: '',\n rePassword: '',\n};\n\nfunction ActivatePage(props) {\n const { id } = useParams();\n const navigate = useNavigate();\n const [user, setUser] = useState(defaultData);\n const [data, setData] = useState(defaultData);\n const [errors, setErrors] = useState({});\n\n const [loading, setLoading] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n\n const controller = new AbortController();\n\n useEffect(() => {\n fetchUser(id);\n return () => {\n if (submitting || loading) {\n controller.abort();\n }\n };\n }, [props]);\n\n const fetchUser = (id) => {\n setLoading(true);\n axios\n .get(`${config.apiURL}/activate/${id}`, { signal: controller.signal })\n .then((res) => {\n const user = res.data.user;\n // console.log(user);\n setUser(user);\n setData(user);\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n navigate('/');\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const onChange = (e, { name, value }) => {\n // console.log([name], value);\n if (name == 'firstname' || name == 'lastname') {\n value = value.charAt(0).toUpperCase() + value.slice(1);\n }\n setData((prev) => {\n return { ...prev, [name]: value };\n });\n };\n\n //prevent leading or tailling space in inputs\n const trim = () => {\n for (const key in data) {\n if (typeof data[key] === 'string') {\n data[key] = data[key].trim();\n }\n }\n return data;\n };\n\n //return errors\n const validate = () => {\n setData(trim());\n const errors = {};\n const pwdLength = 6;\n if (data.password?.length < pwdLength) {\n errors.password = `At lease ${pwdLength}`;\n }\n if (data.password !== data.rePassword) {\n errors.rePassword = 'Not match';\n }\n if (!data.password) {\n errors.password = 'Can not be blank';\n }\n\n setErrors(errors);\n return errors;\n };\n\n const handleSubmit = () => {\n const errors = validate();\n if (Object.keys(errors).length !== 0) {\n console.log('have error');\n return;\n }\n const req = {\n passwordHash: md5(data.password),\n };\n setSubmitting(true);\n axios\n .put(`${config.apiURL}/activate/${user.id}`, req, { signal: controller.signal })\n .then((res) => {\n window.alert(res.data.reply);\n const url = `/?v=${user.email}`;\n navigate(url);\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n return (\n \n \n 加载中...\n \n {user.approved ? (\n <>\n
{`恭喜审核通过,请设置登录密码以激活账号`}
\n
{`旅行社: ${user.agency.companyName}`}
\n\n
{`用户名: ${user.email}`}
\n
\n );\n}\n\nexport default ActivatePage;\n"],"names":["defaultData","ActivatePage","props","id","useParams","navigate","useNavigate","user","setUser","useState","data","setData","errors","setErrors","loading","setLoading","submitting","setSubmitting","controller","useEffect","fetchUser","axios","config.apiURL","res","err","msg","_b","_a","onChange","e","name","value","prev","trim","key","validate","pwdLength","handleSubmit","req","md5","url","Container","jsx","Dimmer","Loader","jsxs","Fragment","Header","Divider","Form","Button"],"mappings":"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"}