diff --git a/src/api/types.ts b/src/api/types.ts index 43358d9..fc802bc 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -60,6 +60,8 @@ export type UsernameClient = TreatyBody; export type EmailVerifyClient = TreatyBody; +export type EmailPasswordVerifyClient = TreatyBody; + export type UserDepositOrderData = Treaty.Data["data"][number]; export type UserDepositOrderBody = TreatyQuery; diff --git a/src/auth/index.ts b/src/auth/index.ts index a458e2b..e62811b 100644 --- a/src/auth/index.ts +++ b/src/auth/index.ts @@ -72,3 +72,26 @@ export const countries: PhoneCountry[] = [ icon: CircleFlagsEnUs, }, ]; + +export const emailPasswordSchema = toTypedSchema(z.object({ + email: z + .string({ message: i18n.global.t("auth.signup.validation.emailRequired") }) + .min(1, i18n.global.t("auth.signup.validation.emailRequired")) + .email(i18n.global.t("auth.signup.validation.emailInvalid")), + password: z + .string({ message: i18n.global.t("auth.signup.validation.passwordRequired") }) + .min(8, i18n.global.t("auth.signup.validation.passwordMinLength", { length: 8 })), +})); + +export const emailSignupSchema = toTypedSchema(z.object({ + name: z + .string({ message: i18n.global.t("auth.signup.validation.nameRequired") }) + .min(1, i18n.global.t("auth.signup.validation.nameRequired")), + email: z + .string({ message: i18n.global.t("auth.signup.validation.emailRequired") }) + .min(1, i18n.global.t("auth.signup.validation.emailRequired")) + .email(i18n.global.t("auth.signup.validation.emailInvalid")), + password: z + .string({ message: i18n.global.t("auth.signup.validation.passwordRequired") }) + .min(8, i18n.global.t("auth.signup.validation.passwordMinLength", { length: 8 })), +})); diff --git a/src/views/auth/login/components/email-password-login.vue b/src/views/auth/login/components/email-password-login.vue new file mode 100644 index 0000000..38b07d6 --- /dev/null +++ b/src/views/auth/login/components/email-password-login.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/auth/login/index.vue b/src/views/auth/login/index.vue index 6584413..58cf9bd 100644 --- a/src/views/auth/login/index.vue +++ b/src/views/auth/login/index.vue @@ -1,7 +1,8 @@