summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2018-12-28 01:01:58 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-12-28 01:01:58 +0900
commit1029bff5ff37d68eff1afeb8c5c918ece3105705 (patch)
treeaa6f15a0a5851afb5ac5454d8674fd5a21960e9a /src
parent10.68.0 (diff)
downloadmisskey-1029bff5ff37d68eff1afeb8c5c918ece3105705.tar.gz
misskey-1029bff5ff37d68eff1afeb8c5c918ece3105705.tar.bz2
misskey-1029bff5ff37d68eff1afeb8c5c918ece3105705.zip
Undo reaction with clicking minus (#3773)
* Undo reaction with clicking minus * fix isMyNote
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/scripts/note-mixin.ts8
-rw-r--r--src/client/app/desktop/views/components/note-detail.vue5
-rw-r--r--src/client/app/desktop/views/components/note.vue5
-rw-r--r--src/client/app/mobile/views/components/note-detail.vue5
-rw-r--r--src/client/app/mobile/views/components/note.vue5
5 files changed, 24 insertions, 4 deletions
diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts
index 39e23f94ea..76059fbb0c 100644
--- a/src/client/app/common/scripts/note-mixin.ts
+++ b/src/client/app/common/scripts/note-mixin.ts
@@ -142,6 +142,14 @@ export default (opts: Opts = {}) => ({
});
},
+ undoReact(note) {
+ const oldReaction = note.myReaction;
+ if (!oldReaction) return;
+ this.$root.api('notes/reactions/delete', {
+ noteId: note.id
+ });
+ },
+
favorite() {
this.$root.api('notes/favorites/create', {
noteId: this.appearNote.id
diff --git a/src/client/app/desktop/views/components/note-detail.vue b/src/client/app/desktop/views/components/note-detail.vue
index d0a625bc14..f2d46a6eed 100644
--- a/src/client/app/desktop/views/components/note-detail.vue
+++ b/src/client/app/desktop/views/components/note-detail.vue
@@ -76,9 +76,12 @@
<button v-else class="inhibitedButton">
<fa icon="ban"/>
</button>
- <button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" v-if="!isMyNote" @click="react()" ref="reactButton" :title="$t('add-reaction')">
+ <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
<fa icon="plus"/>
</button>
+ <button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
+ <fa icon="minus"/>
+ </button>
<button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/>
</button>
diff --git a/src/client/app/desktop/views/components/note.vue b/src/client/app/desktop/views/components/note.vue
index 2c8dccd496..9e3e8dfcb6 100644
--- a/src/client/app/desktop/views/components/note.vue
+++ b/src/client/app/desktop/views/components/note.vue
@@ -53,9 +53,12 @@
<button v-else class="inhibitedButton">
<fa icon="ban"/>
</button>
- <button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" v-if="!isMyNote" @click="react()" ref="reactButton" :title="$t('add-reaction')">
+ <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
<fa icon="plus"/>
</button>
+ <button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
+ <fa icon="minus"/>
+ </button>
<button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/>
</button>
diff --git a/src/client/app/mobile/views/components/note-detail.vue b/src/client/app/mobile/views/components/note-detail.vue
index e0ce26e194..05c770a59b 100644
--- a/src/client/app/mobile/views/components/note-detail.vue
+++ b/src/client/app/mobile/views/components/note-detail.vue
@@ -72,9 +72,12 @@
<button v-else>
<fa icon="ban"/>
</button>
- <button :class="{ reacted: appearNote.myReaction != null }" @click="react()" v-if="!isMyNote" ref="reactButton" :title="$t('title')">
+ <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
<fa icon="plus"/>
</button>
+ <button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
+ <fa icon="minus"/>
+ </button>
<button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/>
</button>
diff --git a/src/client/app/mobile/views/components/note.vue b/src/client/app/mobile/views/components/note.vue
index c0f0f49d59..6c17d77cd9 100644
--- a/src/client/app/mobile/views/components/note.vue
+++ b/src/client/app/mobile/views/components/note.vue
@@ -49,9 +49,12 @@
<button v-else>
<fa icon="ban"/>
</button>
- <button :class="{ reacted: appearNote.myReaction != null }" @click="react()" v-if="!isMyNote" ref="reactButton">
+ <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
<fa icon="plus"/>
</button>
+ <button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
+ <fa icon="minus"/>
+ </button>
<button class="menu" @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/>
</button>