diff --git a/web/satellite/vuetify-poc/src/router/index.ts b/web/satellite/vuetify-poc/src/router/index.ts index 1a3073236..a5fd308d6 100644 --- a/web/satellite/vuetify-poc/src/router/index.ts +++ b/web/satellite/vuetify-poc/src/router/index.ts @@ -36,16 +36,6 @@ const routes: RouteRecordRaw[] = [ name: 'Login', component: () => import(/* webpackChunkName: "Login" */ '@poc/views/Login.vue'), }, - { - path: '/login-2fa', - name: 'Login 2FA', - component: () => import(/* webpackChunkName: "Login 2FA" */ '@poc/views/Login2FA.vue'), - }, - { - path: '/login-2fa-recovery', - name: 'Login 2FA Recovery Code', - component: () => import(/* webpackChunkName: "Login 2FA Recovery Code" */ '@poc/views/Login2FARecovery.vue'), - }, { path: '/signup', name: 'Signup', diff --git a/web/satellite/vuetify-poc/src/types/common.ts b/web/satellite/vuetify-poc/src/types/common.ts index 45e64f2bb..d78676cb6 100644 --- a/web/satellite/vuetify-poc/src/types/common.ts +++ b/web/satellite/vuetify-poc/src/types/common.ts @@ -1,11 +1,17 @@ // Copyright (C) 2023 Storj Labs, Inc. // See LICENSE for copying information. +import { Validator } from '@/utils/validation'; + export type ValidationRule = string | boolean | ((value: T) => string | boolean); export function RequiredRule(value: unknown): string | boolean { return (Array.isArray(value) ? !!value.length : !!value) || 'Required'; } +export function EmailRule(value: string): string | boolean { + return Validator.email(value) || 'E-mail must be valid.'; +} + export interface DialogStepComponent { title: string; iconSrc?: string; diff --git a/web/satellite/vuetify-poc/src/views/Login.vue b/web/satellite/vuetify-poc/src/views/Login.vue index 75f9a48ae..440b2813f 100644 --- a/web/satellite/vuetify-poc/src/views/Login.vue +++ b/web/satellite/vuetify-poc/src/views/Login.vue @@ -5,66 +5,122 @@ - + + + + + + + - + - - + /> - - + /> - - + /> - + Continue -

Forgot your password? Reset password

+ + +

Forgot your password? Reset password

Don't have an account? Sign Up

@@ -72,18 +128,213 @@ \ No newline at end of file diff --git a/web/satellite/vuetify-poc/src/views/Login2FA.vue b/web/satellite/vuetify-poc/src/views/Login2FA.vue index f521679f1..9f1d04d8b 100644 --- a/web/satellite/vuetify-poc/src/views/Login2FA.vue +++ b/web/satellite/vuetify-poc/src/views/Login2FA.vue @@ -2,49 +2,127 @@ // See LICENSE for copying information. \ No newline at end of file diff --git a/web/satellite/vuetify-poc/src/views/Login2FARecovery.vue b/web/satellite/vuetify-poc/src/views/Login2FARecovery.vue deleted file mode 100644 index 9a3510f12..000000000 --- a/web/satellite/vuetify-poc/src/views/Login2FARecovery.vue +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2023 Storj Labs, Inc. -// See LICENSE for copying information. - - - - \ No newline at end of file