refactor(admin-next): add email validator in user fields

pull/90/head
moonrailgun 2 years ago
parent 0b116e5406
commit e2309371df

@ -1632,8 +1632,8 @@ importers:
specifier: workspace:^
version: link:../packages/sdk
tushan:
specifier: ^0.2.2
version: 0.2.2(ts-node@10.9.1)
specifier: ^0.2.3
version: 0.2.3(ts-node@10.9.1)
vite-express:
specifier: ^0.5.4
version: 0.5.4(express@4.18.2)(vite@4.2.0)
@ -19923,6 +19923,18 @@ packages:
- encoding
dev: false
/flux@4.0.3(react@18.2.0):
resolution: {integrity: sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==}
peerDependencies:
react: ^15.0.2 || ^16.0.0 || ^17.0.0
dependencies:
fbemitter: 3.0.0
fbjs: 3.0.4
react: 18.2.0
transitivePeerDependencies:
- encoding
dev: false
/focus-lock@0.11.6:
resolution: {integrity: sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==}
engines: {node: '>=10'}
@ -30057,6 +30069,23 @@ packages:
- encoding
dev: false
/react-json-view@1.21.3(@types/react@18.0.20)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==}
peerDependencies:
react: ^17.0.0 || ^16.3.0 || ^15.5.4
react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4
dependencies:
flux: 4.0.3(react@18.2.0)
react: 18.2.0
react-base16-styling: 0.6.0
react-dom: 18.2.0(react@18.2.0)
react-lifecycles-compat: 3.0.4
react-textarea-autosize: 8.4.0(@types/react@18.0.20)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
- encoding
dev: false
/react-lifecycles-compat@3.0.4:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
@ -30294,6 +30323,20 @@ packages:
- '@types/react'
dev: false
/react-textarea-autosize@8.4.0(@types/react@18.0.20)(react@18.2.0):
resolution: {integrity: sha512-YrTFaEHLgJsi8sJVYHBzYn+mkP3prGkmP2DKb/tm0t7CLJY5t1Rxix8070LAKb0wby7bl/lf2EeHkuMihMZMwQ==}
engines: {node: '>=10'}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
'@babel/runtime': 7.21.0
react: 18.2.0
use-composed-ref: 1.3.0(react@18.2.0)
use-latest: 1.2.1(@types/react@18.0.20)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
/react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
peerDependencies:
@ -34308,8 +34351,8 @@ packages:
domino: 2.1.6
dev: false
/tushan@0.2.2(ts-node@10.9.1):
resolution: {integrity: sha512-7Nxw5Ru9kQ8XyPZDgeS0CLRd0cbMs4INDgDt9kSUvqphnFdp7bMrG9FQGh+2RNYG65JIDZGhsR83Uv9wg2Esrg==}
/tushan@0.2.3(ts-node@10.9.1):
resolution: {integrity: sha512-ac45lQIM5jyPmu2rFpOM3QDyx6MNnL+um0NMl+u2YMOIDS86ygUYhEoH+6pLYQDRQtPkKmVsTu9EUEFHMp0/4Q==}
dependencies:
'@arco-design/web-react': 2.47.1(@types/react@18.0.20)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query': 4.29.3(react-dom@18.2.0)(react@18.2.0)
@ -34327,6 +34370,7 @@ packages:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-is: 18.2.0
react-json-view: 1.21.3(@types/react@18.0.20)(react-dom@18.2.0)(react@18.2.0)
react-router: 6.11.0(react@18.2.0)
react-router-dom: 6.11.0(react-dom@18.2.0)(react@18.2.0)
styled-components: 5.3.10(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
@ -34335,6 +34379,7 @@ packages:
zustand: 4.3.6(immer@9.0.21)(react@18.2.0)
transitivePeerDependencies:
- debug
- encoding
- react-native
- ts-node
dev: false
@ -34960,6 +35005,14 @@ packages:
react: 17.0.2
dev: false
/use-composed-ref@1.3.0(react@18.2.0):
resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
react: 18.2.0
dev: false
/use-isomorphic-layout-effect@1.1.2(@types/react@18.0.20)(react@17.0.2):
resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
peerDependencies:
@ -35000,6 +35053,20 @@ packages:
use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.20)(react@17.0.2)
dev: false
/use-latest@1.2.1(@types/react@18.0.20)(react@18.2.0):
resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==}
peerDependencies:
'@types/react': '*'
react: ^16.8.0 || ^17.0.0 || ^18.0.0
peerDependenciesMeta:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.20
react: 18.2.0
use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.20)(react@18.2.0)
dev: false
/use-previous@1.1.0(@types/react@18.0.20)(react@18.2.0):
resolution: {integrity: sha512-t6ltKuYIpvcqD+VBnlUOaT+N94bN7HwUdB1u7rSpCIh9XvMJQIjsw/G8DoJlSDh029khFQ2L8q88oUWfKoWy5w==}
peerDependencies:

@ -23,7 +23,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailchat-server-sdk": "workspace:^",
"tushan": "^0.2.2",
"tushan": "^0.2.3",
"vite-express": "^0.5.4"
},
"devDependencies": {

@ -6,6 +6,7 @@ import {
createJSONField,
createDateTimeField,
createUrlField,
emailValidator,
} from 'tushan';
import { createFileSizeField } from './components/field/filesize';
@ -18,12 +19,32 @@ export const userFields = [
}),
createEmailField('email', {
label: 'Email',
edit: {
rules: [
{
required: true,
},
{
validator: emailValidator,
},
],
},
}),
createTextField('nickname', {
label: 'Nickname',
}),
createTextField('discriminator', {
label: 'Discriminator',
edit: {
rules: [
{
required: true,
},
{
match: /\d{4}/,
},
],
},
}),
createBooleanField('temporary', {
label: 'Temporary',

Loading…
Cancel
Save