diff --git a/js/src/components/Event/OrganizerPickerWrapper.vue b/js/src/components/Event/OrganizerPickerWrapper.vue index ca42b027b..e1caf711f 100644 --- a/js/src/components/Event/OrganizerPickerWrapper.vue +++ b/js/src/components/Event/OrganizerPickerWrapper.vue @@ -235,7 +235,7 @@ const isComponentModalActive = ref(false); const contactFilter = ref(""); const membersPage = ref(1); -const { result: membersResult } = useQuery<{ group: Pick }>( +const { result: membersResult } = useQuery<{ group: Pick }>( GROUP_MEMBERS, () => ({ groupName: usernameWithDomain(selectedActor.value), @@ -247,8 +247,10 @@ const { result: membersResult } = useQuery<{ group: Pick }>( () => ({ enabled: selectedActor.value?.type === ActorType.GROUP }) ); -const members = computed>( - () => selectedActor.value?.type === ActorType.GROUP ? membersResult.value?.group?.members ?? { elements: [], total: 0 } : { elements: [], total: 0 } +const members = computed>(() => + selectedActor.value?.type === ActorType.GROUP + ? membersResult.value?.group?.members ?? { elements: [], total: 0 } + : { elements: [], total: 0 } ); const actualContacts = computed({ diff --git a/js/src/components/core/MaterialIcon.vue b/js/src/components/core/MaterialIcon.vue index 42541c7cb..9124fc444 100644 --- a/js/src/components/core/MaterialIcon.vue +++ b/js/src/components/core/MaterialIcon.vue @@ -118,6 +118,8 @@ const icons: Record Promise> = { Loading: () => import(`../../../node_modules/vue-material-design-icons/Loading.vue`), Eye: () => import(`../../../node_modules/vue-material-design-icons/Eye.vue`), + EyeOff: () => + import(`../../../node_modules/vue-material-design-icons/EyeOff.vue`), AlertCircle: () => import(`../../../node_modules/vue-material-design-icons/AlertCircle.vue`), Rss: () => import(`../../../node_modules/vue-material-design-icons/Rss.vue`), diff --git a/js/src/main.ts b/js/src/main.ts index a3bfaf088..00173e007 100644 --- a/js/src/main.ts +++ b/js/src/main.ts @@ -49,7 +49,7 @@ app.component("breadcrumbs-nav", Breadcrumbs); app.component("material-icon", MaterialIcon); app.use(Oruga, orugaConfig); -const instanceName = ref(); +const instanceName = ref(); apolloClient .query<{ config: IConfig }>({ diff --git a/js/src/router/index.ts b/js/src/router/index.ts index 579999522..b9ed1ca1e 100644 --- a/js/src/router/index.ts +++ b/js/src/router/index.ts @@ -134,9 +134,7 @@ export const routes = [ path: "/auth/:provider/callback", name: "auth-callback", component: (): Promise => - import( - /* webpackChunkName: "ProviderValidation" */ "@/views/User/ProviderValidation.vue" - ), + import("@/views/User/ProviderValidation.vue"), meta: { announcer: { message: (): string => t("Redirecting to Mobilizon") as string, diff --git a/js/src/views/Admin/InstancesView.vue b/js/src/views/Admin/InstancesView.vue index 529fc0f7d..224216cb2 100644 --- a/js/src/views/Admin/InstancesView.vue +++ b/js/src/views/Admin/InstancesView.vue @@ -221,8 +221,9 @@ const newRelayAddress = ref(""); // relayFollowers: Paginate = { elements: [], total: 0 }; -const updateDomainFilter = (domain: string) => { - filterDomain.value = domain; +const updateDomainFilter = (event: InputEvent) => { + const newValue = (event.target as HTMLInputElement).value; + filterDomain.value = newValue; }; const debouncedUpdateDomainFilter = debounce(updateDomainFilter, 500); diff --git a/js/src/views/Settings/AccountSettings.vue b/js/src/views/Settings/AccountSettings.vue index eafb64894..ef9b32085 100644 --- a/js/src/views/Settings/AccountSettings.vue +++ b/js/src/views/Settings/AccountSettings.vue @@ -74,17 +74,13 @@ v-model="passwordForEmailChange" /> - + {{ t("Change my email") }}

{{ t("Password") }}

@@ -134,11 +130,7 @@ v-model="newPassword" /> - + {{ t("Change my password") }} @@ -258,8 +250,8 @@ useHead({ title: computed(() => t("General settings")), }); -const passwordForm = ref(); -const emailForm = ref(); +const passwordForm = ref(); +const emailForm = ref(); const passwordForEmailChange = ref(""); const newEmail = ref(""); @@ -294,12 +286,14 @@ changeEmailMutationError((err) => { }); const resetEmailAction = async (): Promise => { - changeEmailErrors.value = []; + if (emailForm.value?.reportValidity()) { + changeEmailErrors.value = []; - changeEmailMutation({ - email: newEmail.value, - password: passwordForEmailChange.value, - }); + changeEmailMutation({ + email: newEmail.value, + password: passwordForEmailChange.value, + }); + } }; const { @@ -319,12 +313,14 @@ onChangePasswordMutationError((err) => { }); const resetPasswordAction = async (): Promise => { - changePasswordErrors.value = []; + if (passwordForm.value?.reportValidity()) { + changePasswordErrors.value = []; - changePasswordMutation({ - oldPassword: oldPassword.value, - newPassword: newPassword.value, - }); + changePasswordMutation({ + oldPassword: oldPassword.value, + newPassword: newPassword.value, + }); + } }; const openDeleteAccountModal = (): void => { diff --git a/js/src/views/User/ProviderValidation.vue b/js/src/views/User/ProviderValidation.vue index a42016c08..db790f30a 100644 --- a/js/src/views/User/ProviderValidation.vue +++ b/js/src/views/User/ProviderValidation.vue @@ -1,6 +1,7 @@ + diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po index d15a83d16..938a48bce 100644 --- a/priv/gettext/fr/LC_MESSAGES/errors.po +++ b/priv/gettext/fr/LC_MESSAGES/errors.po @@ -155,7 +155,7 @@ msgstr "Les inscriptions ne sont pas ouvertes" #: lib/graphql/resolvers/user.ex:444 msgid "The current password is invalid" -msgstr "Le mot de passe actuel est invalid" +msgstr "Le mot de passe actuel est invalide" #: lib/graphql/resolvers/admin.ex:336 lib/graphql/resolvers/user.ex:487 msgid "The new email doesn't seem to be valid"