// material-ui import { Grid, Typography, Stack, Card, FormHelperText, InputLabel, OutlinedInput, } from '@mui/material'; import * as React from "react"; import { useFormik, FormikProvider } from 'formik'; import * as yup from 'yup'; import { useParams } from "react-router-dom"; //import { iAmSmartPath, clientId, getBowerType , iAmSmartCallbackPath} from 'auth/utils' import Loadable from 'components/Loadable'; const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' const BackgroundHead = { backgroundImage: `url(${titleBackgroundImg})`, width: '100%', height: '100%', backgroundSize: 'contain', backgroundRepeat: 'no-repeat', backgroundColor: '#0C489E', backgroundPosition: 'right' } // ==============================|| DASHBOARD - DEFAULT ||============================== // const Index = () => { const params = useParams(); const [onReady, setOnReady] = React.useState(false); const [checkUsername, setCheckUsername] = React.useState(false); const [props, setProps] = React.useState({}); React.useEffect(() => { if(params.code){ setOnReady(true); setProps({}); } }, []); // function loadIAmSmartProfile(){ // } function displayErrorMsg(errorMsg) { return {errorMsg} } const formik = useFormik({ initialValues: ({ username: '', enName: '', email: '', address1: '', address2: '', address3: '', password: '', phone: '', phoneCountryCode: '852', }), validationSchema: yup.object().shape({ username: yup.string().min(6, displayErrorMsg('用戶名稱最少6位')).required(displayErrorMsg('請輸入用戶名稱')) .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg("用戶名稱不包含特殊字符") }) .matches(/^\S*$/, { message: displayErrorMsg('用戶名稱不包含空格') }), enName: yup.string().max(255).required(displayErrorMsg('請輸入英文姓名')), chName: yup.string().max(255).required(displayErrorMsg('請輸入中文姓名')), address1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')), address2: yup.string().max(255).required(displayErrorMsg('請輸入第二行地址')), address3: yup.string().max(255).required(displayErrorMsg('請輸入第三行地址')), email: yup.string().email(displayErrorMsg('請輸入電郵格式')).max(255).required(displayErrorMsg('請輸入電郵')), phoneCountryCode: yup.string().min(2, displayErrorMsg('請輸入最少2位數字')).required(displayErrorMsg('請輸入國際區號')), phone: yup.string().min(8, displayErrorMsg('請輸入最少8位數字')).required(displayErrorMsg('請輸入聯絡電話')), }, ['username']), }); return ( !onReady ? :
iAmSmart 登記
{/*row 1*/} *': { flexGrow: 1, flexBasis: '50%' }, backgroundColor: "secondary", p:8, pl:16, pr:16 }} >
成為個人用戶
註有*的項目必須輸入資料 用戶資料 {/* Already have an account? */}
用戶登入名稱 * { setCheckUsername(false) props.username = e.target.value formik.handleChange(e) }} placeholder="用戶登入名稱" fullWidth error={Boolean((formik.touched.username && formik.errors.username) || checkUsername)} onBlur={formik.handleBlur} inputProps={{ onKeyDown: (e) => { if (e.key === 'Enter') { e.preventDefault(); } }, }} /> {formik.touched.username && formik.errors.username && ( {formik.errors.username} )} {checkUsername && ( 此用戶登入名稱已被注冊,請使用其他用戶登入名稱 )}
{/*row 2*/}
); }; export default Index;