diff --git a/src/components/OcConnectionForm/OcConnectionForm.vue b/src/components/OcConnectionForm/OcConnectionForm.vue index b90619541e07eda95aff6e240f05923026c9bc78..39fef0a59b3ee71e6cc6b16d1a3e5fa396373356 100644 --- a/src/components/OcConnectionForm/OcConnectionForm.vue +++ b/src/components/OcConnectionForm/OcConnectionForm.vue @@ -2,11 +2,11 @@ <Form class="flex flex-col gap-2" :validation-schema="validationSchema" - @submit="emit('login', $event.username, $event.password)" + @submit="emit('login', $event.email, $event.password)" > - <Field name="username" v-slot="{ field, errorMessage }"> - <label for="username">{{ t('connection.username') }}</label> - <InputText id="username" v-bind="field" :invalid="!!errorMessage" /> + <Field name="email" v-slot="{ field, errorMessage }"> + <label for="email">{{ t('connection.emailAddress') }}</label> + <InputText id="email" v-bind="field" :invalid="!!errorMessage" /> <Message v-if="errorMessage" severity="error">{{ errorMessage }}</Message> </Field> <Field name="password" v-slot="{ value, errorMessage, handleChange }"> @@ -40,14 +40,14 @@ import Message from 'primevue/message' import Password from 'primevue/password' const emit = defineEmits<{ - login: [username: string, password: string] + login: [email: string, password: string] }>() const { t } = useI18n() const validationSchema = toTypedSchema( yup.object({ - username: yup.string().required().label(t('connection.username')), + email: yup.string().required().label(t('connection.emailAddress')), password: yup.string().required().label(t('connection.password')) }) ) diff --git a/src/declarations.ts b/src/declarations.ts index 1ee6e8a11a1990acb646d19da72dddedb18b4fbe..7aba1f002fbe5662baaae824d832cea9eb836b81 100644 --- a/src/declarations.ts +++ b/src/declarations.ts @@ -63,7 +63,7 @@ export type OcTreeNode = { } export type Credentials = { - username: string + email: string password: string } diff --git a/src/helpers/http.ts b/src/helpers/http.ts index 7e3648d1fb9e063b5034f2b14c9077036eece6f1..076c252962e1384fd9b7840838819c0193f68140 100644 --- a/src/helpers/http.ts +++ b/src/helpers/http.ts @@ -18,7 +18,7 @@ export function httpFetch( options?.method ?? 'GET', url, true, - options?.auth?.username, + options?.auth?.email, options?.auth?.password ); diff --git a/src/locales/en.ts b/src/locales/en.ts index f2834d90e56f7447e6268cff35500dd1a86b969a..036f54fb8a7d85990965c21ea589a5367c76073b 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -53,7 +53,7 @@ export default { }, connection: { catchphrase: 'One account, different community data-sharing areas', - username: 'Username', + emailAddress: 'E-mail address', password: 'Password', login: 'Login', logout: 'Logout', diff --git a/src/locales/fr.ts b/src/locales/fr.ts index cee97fe59303e1daf4b0721098d482713f47c0b3..e449f3a63654865d78e5a27c00eec778a73966f0 100644 --- a/src/locales/fr.ts +++ b/src/locales/fr.ts @@ -53,7 +53,7 @@ export default { }, connection: { catchphrase: 'Un seul compte, différents espaces communautaires de partage de données', - username: 'Nom d\'utilisateur', + emailAddress: 'Adresse e-mail', password: 'Mot de passe', login: 'Connexion', logout: 'Déconnexion', diff --git a/src/pages/connection.vue b/src/pages/connection.vue index f66fc465cb77302e9eedf84eaff01be9b5e3f93e..f4bf3c7f2d140b6ffe8a793e2cb41e8c049942a3 100644 --- a/src/pages/connection.vue +++ b/src/pages/connection.vue @@ -71,12 +71,12 @@ const breadcrumbItems = computed<OcBreadcrumbItem[]>(() => [ } ]) -async function connection(username: string, password: string) { - const profileInfos = await getProfileInfos({ username: username, password: password }) +async function connection(email: string, password: string) { + const profileInfos = await getProfileInfos({ email, password }) if (profileInfos) { accountStore.auth = { - username: username, + email: email, password: password } accountStore.infos = profileInfos.infos diff --git a/src/stores/account.ts b/src/stores/account.ts index c343fd15b8843864dec6498104ae01651d4dc692..61a4371663186cd1974be6ab3b57b8766035ce72 100644 --- a/src/stores/account.ts +++ b/src/stores/account.ts @@ -17,11 +17,12 @@ export const useAccountStore = defineStore<string, AccountState>('account', () = const localAuth = localStorage.getItem('token') if (localAuth !== null) { - const [username, password] = atob(localAuth).split(':') - - auth.value = { - username: username, - password: password, + const [email, password] = atob(localAuth).split(':') + if (email && password) { + auth.value = { + email: email, + password: password, + } } } @@ -33,7 +34,7 @@ export const useAccountStore = defineStore<string, AccountState>('account', () = watch(auth, (auth: Credentials) => { if (auth) { - localStorage.setItem("token", btoa(`${auth.username}:${auth.password}`)); + localStorage.setItem("token", btoa(`${auth.email}:${auth.password}`)); } else { localStorage.removeItem("token") }