diff --git a/src/components/GetLink.vue b/src/components/GetLink.vue
index df8e4f0..7a2175b 100644
--- a/src/components/GetLink.vue
+++ b/src/components/GetLink.vue
@@ -5,20 +5,19 @@
-
+
+ :error-messages="userErrorMessage" required v-on:keyup.enter="onUsernameEnter" v-on:keydown="hasError = false">
- Loading login flows...
+
{{ this.message }}
- {{ $t("getlink.next") }}
+ {{ $t("getlink.next") }}
{{ $t("menu.login")
}}
@@ -30,12 +29,12 @@
{{ $t("getlink.ready_to_share") }}
-
-
-
{{ $t("getlink.share_qr") }}
-
-
-
+
+
+
{{ $t("getlink.share_qr") }}
+
+
+
{{ $t("getlink.continue") }}
@@ -113,6 +112,7 @@ export default {
// Reset
const obj = this.defaultData();
Object.keys(obj).forEach(k => this[k] = obj[k]);
+ this.$refs.form.reset();
})
},
goToLoginPage() {
@@ -143,40 +143,41 @@ export default {
this.loading = true;
- this.onUsernameBlur().then(() =>
- this.$store.dispatch("createUser", { user, registrationFlowHandler: this.$refs.interactiveAuth.registrationFlowHandler }))
+ this.loadLoginFlows().then(() => {
+ return this.$store.dispatch("createUser", { user, registrationFlowHandler: this.$refs.interactiveAuth.registrationFlowHandler })
+ })
.then(
- (ignoreduser) => {
- this.$matrix.setUserDisplayName(userDisplayName);
- },
- (error) => {
- this.message =
- (error.data && error.data.error) ||
- error.message ||
- error.toString();
- if (error.data && error.data.errcode === 'M_FORBIDDEN') {
- this.message = this.$i18n.messages[this.$i18n.locale].login.invalid_message;
- this.hasError = true;
- } else if (error.data && error.data.errcode === 'M_USER_IN_USE') {
- // Try again with (other/new) random chars appended
- user.user_id = utils.randomUser(prefix);
- return this.$store.dispatch("createUser", { user, registrationFlowHandler: this.$refs.interactiveAuth.registrationFlowHandler }).then(
- (ignoreduser) => {
- this.$matrix.setUserDisplayName(userDisplayName);
- },
- (error) => {
- this.message =
- (error.data && error.data.error) ||
- error.message ||
- error.toString();
- if (error.data && error.data.errcode === 'M_FORBIDDEN') {
- this.message = this.$i18n.messages[this.$i18n.locale].login.invalid_message;
- this.hasError = true;
+ (ignoreduser) => {
+ this.$matrix.setUserDisplayName(userDisplayName);
+ },
+ (error) => {
+ this.message =
+ (error.data && error.data.error) ||
+ error.message ||
+ error.toString();
+ if (error.data && error.data.errcode === 'M_FORBIDDEN') {
+ this.message = this.$i18n.messages[this.$i18n.locale].login.invalid_message;
+ this.hasError = true;
+ } else if (error.data && error.data.errcode === 'M_USER_IN_USE') {
+ // Try again with (other/new) random chars appended
+ user.user_id = utils.randomUser(prefix);
+ return this.$store.dispatch("createUser", { user, registrationFlowHandler: this.$refs.interactiveAuth.registrationFlowHandler }).then(
+ (ignoreduser) => {
+ this.$matrix.setUserDisplayName(userDisplayName);
+ },
+ (error) => {
+ this.message =
+ (error.data && error.data.error) ||
+ error.message ||
+ error.toString();
+ if (error.data && error.data.errcode === 'M_FORBIDDEN') {
+ this.message = this.$i18n.messages[this.$i18n.locale].login.invalid_message;
+ this.hasError = true;
+ }
}
- }
- );
- }
- })
+ );
+ }
+ })
.finally(() => {
this.loading = false;
})
@@ -186,9 +187,9 @@ export default {
this.$navigation.push({ name: "CreateRoom" });
},
onUsernameEnter() {
- this.onUsernameBlur();
+ this.handleLogin();
},
- onUsernameBlur() {
+ loadLoginFlows() {
var user = Object.assign({}, this.user);
user.normalize();
const server = user.home_server || this.$config.defaultServer;