From bc627fc55c8cba0d9410d1d54c6ccbc9fe822624 Mon Sep 17 00:00:00 2001 From: "Acid Chicken (硫酸鶏)" Date: Fri, 20 Jul 2018 19:23:10 +0900 Subject: タグサジェストが重複しないようにする MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/app/desktop/views/components/post-form.vue | 5 ++--- src/client/app/mobile/views/components/post-form.vue | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue index 5efa1eacca..aaec36ed37 100644 --- a/src/client/app/desktop/views/components/post-form.vue +++ b/src/client/app/desktop/views/components/post-form.vue @@ -382,9 +382,8 @@ export default Vue.extend({ if (this.text && this.text != '') { const hashtags = parse(this.text).filter(x => x.type == 'hashtag').map(x => x.hashtag); - let history = JSON.parse(localStorage.getItem('hashtags') || '[]') as string[]; - history = history.filter(x => !hashtags.includes(x)); - localStorage.setItem('hashtags', JSON.stringify(hashtags.concat(history))); + const history = JSON.parse(localStorage.getItem('hashtags') || '[]') as string[]; + localStorage.setItem('hashtags', JSON.stringify(hashtags.concat(history).reduce((a, c) => a.includes(c) ? a : [...a, c], []))); } }, diff --git a/src/client/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue index 05e8b09865..b04a1968dc 100644 --- a/src/client/app/mobile/views/components/post-form.vue +++ b/src/client/app/mobile/views/components/post-form.vue @@ -295,9 +295,8 @@ export default Vue.extend({ if (this.text && this.text != '') { const hashtags = parse(this.text).filter(x => x.type == 'hashtag').map(x => x.hashtag); - let history = JSON.parse(localStorage.getItem('hashtags') || '[]') as string[]; - history = history.filter(x => !hashtags.includes(x)); - localStorage.setItem('hashtags', JSON.stringify(hashtags.concat(history))); + const history = JSON.parse(localStorage.getItem('hashtags') || '[]') as string[]; + localStorage.setItem('hashtags', JSON.stringify(hashtags.concat(history).reduce((a, c) => a.includes(c) ? a : [...a, c], []))); } }, -- cgit v1.2.3-freya