From a6b6fe95c0fe2aa60ebbfca87fde47e629035c49 Mon Sep 17 00:00:00 2001 From: wakarimasen Date: Wed, 8 Mar 2017 18:28:41 +0100 Subject: Show visual feedback on login error, redirect on success --- src/components/login_form/login_form.js | 8 ++++++-- src/components/login_form/login_form.vue | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index 827c704c..2ad5b0b5 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -1,13 +1,17 @@ const LoginForm = { data: () => ({ - user: {} + user: {}, + authError: false }), computed: { loggingIn () { return this.$store.state.users.loggingIn } }, methods: { submit () { - this.$store.dispatch('loginUser', this.user) + this.$store.dispatch('loginUser', this.user).then( + () => { this.$router.push('/main/friends')}, + () => { this.authError = true } + ) } } } diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue index c0273bae..279469ee 100644 --- a/src/components/login_form/login_form.vue +++ b/src/components/login_form/login_form.vue @@ -17,6 +17,9 @@
+
+ +
@@ -39,6 +42,12 @@ margin-top: 1.0em; min-height: 28px; } + + .error { + margin-top: 0em; + margin-bottom: 0em; + background-color: rgba(255, 48, 16, 0.65); + } } -- cgit v1.2.3-70-g09d2 From c0e8111d642ca9f85fbb4091f2ac9e86f4238a58 Mon Sep 17 00:00:00 2001 From: wakarimasen Date: Wed, 8 Mar 2017 19:08:01 +0100 Subject: Clear username and password field on failed login --- src/components/login_form/login_form.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index 2ad5b0b5..e489f381 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -10,7 +10,11 @@ const LoginForm = { submit () { this.$store.dispatch('loginUser', this.user).then( () => { this.$router.push('/main/friends')}, - () => { this.authError = true } + () => { + this.authError = true + this.user.username = '' + this.user.password = '' + } ) } } -- cgit v1.2.3-70-g09d2 From ccc460bb5ed1c8b7338f8a26bdb3029c74b26024 Mon Sep 17 00:00:00 2001 From: wakarimasen Date: Wed, 8 Mar 2017 19:22:56 +0100 Subject: Give more specific reason for failed login --- src/components/login_form/login_form.js | 4 ++-- src/components/login_form/login_form.vue | 2 +- src/modules/users.js | 8 ++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index e489f381..bc801397 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -10,8 +10,8 @@ const LoginForm = { submit () { this.$store.dispatch('loginUser', this.user).then( () => { this.$router.push('/main/friends')}, - () => { - this.authError = true + (error) => { + this.authError = error this.user.username = '' this.user.password = '' } diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue index 279469ee..8a32e064 100644 --- a/src/components/login_form/login_form.vue +++ b/src/components/login_form/login_form.vue @@ -18,7 +18,7 @@
- +
diff --git a/src/modules/users.js b/src/modules/users.js index a5274480..482c3b14 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -96,7 +96,11 @@ const users = { } else { // Authentication failed commit('endLogin') - reject() + if (response.status === 401) { + reject('Wrong username or password') + } else { + reject('An error occured, please try again') + } } commit('endLogin') resolve() @@ -104,7 +108,7 @@ const users = { .catch((error) => { console.log(error) commit('endLogin') - reject() + reject('Failed to connect to server, try again') }) }) } -- cgit v1.2.3-70-g09d2 From 9511691c9467e26c3237b4a2c936e8a757b3e515 Mon Sep 17 00:00:00 2001 From: shpuld Date: Thu, 9 Mar 2017 02:21:23 +0200 Subject: Make the error into a div instead of a button to get rid of the hover effects. --- src/components/login_form/login_form.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/components') diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue index 8a32e064..b2fa5341 100644 --- a/src/components/login_form/login_form.vue +++ b/src/components/login_form/login_form.vue @@ -18,7 +18,7 @@
- +
{{authError}}
@@ -44,9 +44,11 @@ } .error { - margin-top: 0em; - margin-bottom: 0em; + border-radius: 5px; + text-align: center; background-color: rgba(255, 48, 16, 0.65); + min-height: 28px; + line-height: 28px; } } -- cgit v1.2.3-70-g09d2 From 502757da28d573641a48197c284b7e40dfc8154e Mon Sep 17 00:00:00 2001 From: xj9 Date: Wed, 8 Mar 2017 20:23:10 -0700 Subject: improvements on fature/better-nsfw-image-loading - loading indicator - avoid hitting the cache if we already know the image was loaded - more responsive toggle --- src/components/attachment/attachment.js | 24 +++++++++++++++++++----- src/components/attachment/attachment.vue | 18 ++++++++++-------- 2 files changed, 29 insertions(+), 13 deletions(-) (limited to 'src/components') diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js index c3f52f57..7715add5 100644 --- a/src/components/attachment/attachment.js +++ b/src/components/attachment/attachment.js @@ -11,7 +11,9 @@ const Attachment = { return { nsfwImage, hideNsfwLocal: this.$store.state.config.hideNsfw, - showHidden: false + showHidden: false, + loading: false, + img: document.createElement('img') } }, computed: { @@ -20,6 +22,13 @@ const Attachment = { }, hidden () { return this.nsfw && this.hideNsfwLocal && !this.showHidden + }, + autoHeight () { + if (this.type === 'image' && this.nsfw) { + return { + 'min-height': '311px' + } + } } }, methods: { @@ -29,10 +38,15 @@ const Attachment = { } }, toggleHidden () { - let img = document.createElement('img') - img.src = this.attachment.url - img.onload = () => { - this.showHidden = !this.showHidden + if (this.img.onload) { + this.img.onload() + } else { + this.loading = true + this.img.src = this.attachment.url + this.img.onload = () => { + this.loading = false + this.showHidden = !this.showHidden + } } } } diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue index ad60acf9..8f51b891 100644 --- a/src/components/attachment/attachment.vue +++ b/src/components/attachment/attachment.vue @@ -1,15 +1,14 @@