From 719fac6480f8bd39498f2e92c83cac0fa26fb282 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 13 Oct 2018 00:54:30 +0900 Subject: お気に入りを解除できるように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/common/views/components/note-menu.vue | 30 ++++++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'src/client') diff --git a/src/client/app/common/views/components/note-menu.vue b/src/client/app/common/views/components/note-menu.vue index 6030e4fd30..21713e56a0 100644 --- a/src/client/app/common/views/components/note-menu.vue +++ b/src/client/app/common/views/components/note-menu.vue @@ -22,11 +22,21 @@ export default Vue.extend({ icon: '%fa:link%', text: '%i18n:@copy-link%', action: this.copyLink - }, null, { - icon: '%fa:star%', - text: '%i18n:@favorite%', - action: this.favorite - }]; + }, null]; + + if (this.note.isFavorited) { + items.push({ + icon: '%fa:star%', + text: '%i18n:@unfavorite%', + action: this.unfavorite + }); + } else { + items.push({ + icon: '%fa:star%', + text: '%i18n:@favorite%', + action: this.favorite + }); + } if (this.note.userId == this.$store.state.i.id) { if ((this.$store.state.i.pinnedNoteIds || []).includes(this.note.id)) { @@ -45,6 +55,7 @@ export default Vue.extend({ } if (this.note.userId == this.$store.state.i.id || this.$store.state.i.isAdmin) { + items.push(null); items.push({ icon: '%fa:trash-alt R%', text: '%i18n:@delete%', @@ -110,6 +121,15 @@ export default Vue.extend({ }); }, + unfavorite() { + (this as any).api('notes/favorites/delete', { + noteId: this.note.id + }).then(() => { + (this as any).os.new(Ok); + this.destroyDom(); + }); + }, + closed() { this.$nextTick(() => { this.destroyDom(); -- cgit v1.2.3-freya