diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-05-28 14:39:46 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-05-28 14:39:46 +0900 |
| commit | ceda2ca89661d1bd3889453997fe0868a8c31e9d (patch) | |
| tree | 94a3a12fc7230abdd9f82d77188fec345dfaf9cd /src/client | |
| parent | :art: (diff) | |
| download | misskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.gz misskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.bz2 misskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.zip | |
Implement delete note
Diffstat (limited to 'src/client')
8 files changed, 24 insertions, 7 deletions
diff --git a/src/client/app/common/views/components/note-menu.vue b/src/client/app/common/views/components/note-menu.vue index fb95055049..a400610a2b 100644 --- a/src/client/app/common/views/components/note-menu.vue +++ b/src/client/app/common/views/components/note-menu.vue @@ -4,6 +4,7 @@ <div class="popover" :class="{ compact }" ref="popover"> <button @click="favorite">%i18n:@favorite%</button> <button v-if="note.userId == $store.state.i.id" @click="pin">%i18n:@pin%</button> + <button v-if="note.userId == $store.state.i.id" @click="del">%i18n:@delete%</button> <a v-if="note.uri" :href="note.uri" target="_blank">%i18n:@remote%</a> </div> </div> @@ -59,6 +60,15 @@ export default Vue.extend({ }); }, + del() { + if (!window.confirm('%i18n:@delete-confirm%')) return; + (this as any).api('notes/delete', { + noteId: this.note.id + }).then(() => { + this.$destroy(); + }); + }, + favorite() { (this as any).api('notes/favorites/create', { noteId: this.note.id diff --git a/src/client/app/desktop/views/components/note-detail.sub.vue b/src/client/app/desktop/views/components/note-detail.sub.vue index 0471c70ee7..00e54ff1a6 100644 --- a/src/client/app/desktop/views/components/note-detail.sub.vue +++ b/src/client/app/desktop/views/components/note-detail.sub.vue @@ -16,6 +16,7 @@ <div class="body"> <div class="text"> <span v-if="note.isHidden" style="opacity: 0.5">%i18n:@private%</span> + <span v-if="note.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> <mk-note-html v-if="note.text" :text="note.text" :i="$store.state.i"/> </div> <div class="media" v-if="note.mediaIds.length > 0"> diff --git a/src/client/app/desktop/views/components/note-detail.vue b/src/client/app/desktop/views/components/note-detail.vue index e64990b4ce..63b2150110 100644 --- a/src/client/app/desktop/views/components/note-detail.vue +++ b/src/client/app/desktop/views/components/note-detail.vue @@ -39,6 +39,7 @@ <div class="body"> <div class="text"> <span v-if="p.isHidden" style="opacity: 0.5">%i18n:@private%</span> + <span v-if="p.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> <mk-note-html v-if="p.text" :text="p.text" :i="$store.state.i"/> </div> <div class="media" v-if="p.media.length > 0"> diff --git a/src/client/app/desktop/views/components/notes.note.vue b/src/client/app/desktop/views/components/notes.note.vue index c4ad67c2f8..f293ffacfb 100644 --- a/src/client/app/desktop/views/components/notes.note.vue +++ b/src/client/app/desktop/views/components/notes.note.vue @@ -41,7 +41,8 @@ </p> <div class="content" v-show="p.cw == null || showContent"> <div class="text"> - <span v-if="p.isHidden" style="opacity: 0.5">(この投稿は非公開です)</span> + <span v-if="p.isHidden" style="opacity: 0.5">%i18n:@private%</span> + <span v-if="p.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> <a class="reply" v-if="p.reply">%fa:reply%</a> <mk-note-html v-if="p.text && !canHideText(p)" :text="p.text" :i="$store.state.i" :class="$style.text"/> <a class="rp" v-if="p.renote">RP:</a> diff --git a/src/client/app/desktop/views/components/sub-note-content.vue b/src/client/app/desktop/views/components/sub-note-content.vue index 8aa32cec73..46e1b802b9 100644 --- a/src/client/app/desktop/views/components/sub-note-content.vue +++ b/src/client/app/desktop/views/components/sub-note-content.vue @@ -1,13 +1,14 @@ <template> <div class="mk-sub-note-content"> <div class="body"> - <span v-if="note.isHidden" style="opacity: 0.5">%i18n:@hidden%</span> + <span v-if="note.isHidden" style="opacity: 0.5">%i18n:@private%</span> + <span v-if="note.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> <a class="reply" v-if="note.replyId">%fa:reply%</a> <mk-note-html :text="note.text" :i="$store.state.i"/> <a class="rp" v-if="note.renoteId" :href="`/note:${note.renoteId}`">RP: ...</a> </div> <details v-if="note.media.length > 0"> - <summary>({{ note.media.length }}%i18n:@media%)</summary> + <summary>({{ '%i18n:@media-count%'.replace('{}', note.media.length) }})</summary> <mk-media-list :media-list="note.media"/> </details> <details v-if="note.poll"> diff --git a/src/client/app/mobile/views/components/note-detail.vue b/src/client/app/mobile/views/components/note-detail.vue index 91b8c20111..8ab766e1dc 100644 --- a/src/client/app/mobile/views/components/note-detail.vue +++ b/src/client/app/mobile/views/components/note-detail.vue @@ -36,7 +36,8 @@ </header> <div class="body"> <div class="text"> - <span v-if="p.isHidden" style="opacity: 0.5">(%i18n:@hidden%)</span> + <span v-if="p.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> + <span v-if="p.deletedAt" style="opacity: 0.5">(%i18n:@deleted%)</span> <mk-note-html v-if="p.text" :text="p.text" :i="$store.state.i"/> </div> <div class="tags" v-if="p.tags && p.tags.length > 0"> diff --git a/src/client/app/mobile/views/components/note.vue b/src/client/app/mobile/views/components/note.vue index 35e1c24b07..997d83a6fe 100644 --- a/src/client/app/mobile/views/components/note.vue +++ b/src/client/app/mobile/views/components/note.vue @@ -41,7 +41,8 @@ </p> <div class="content" v-show="p.cw == null || showContent"> <div class="text"> - <span v-if="p.isHidden" style="opacity: 0.5">(%i18n:@hidden%)</span> + <span v-if="p.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> + <span v-if="p.deletedAt" style="opacity: 0.5">(%i18n:@deleted%)</span> <a class="reply" v-if="p.reply">%fa:reply%</a> <mk-note-html v-if="p.text && !canHideText(p)" :text="p.text" :i="$store.state.i" :class="$style.text"/> <a class="rp" v-if="p.renote != null">RP:</a> diff --git a/src/client/app/mobile/views/components/sub-note-content.vue b/src/client/app/mobile/views/components/sub-note-content.vue index 023dec70d2..4ad90b97df 100644 --- a/src/client/app/mobile/views/components/sub-note-content.vue +++ b/src/client/app/mobile/views/components/sub-note-content.vue @@ -1,13 +1,14 @@ <template> <div class="mk-sub-note-content"> <div class="body"> - <span v-if="note.isHidden" style="opacity: 0.5">(%i18n:@hidden%)</span> + <span v-if="note.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> + <span v-if="note.deletedAt" style="opacity: 0.5">(%i18n:@deleted%)</span> <a class="reply" v-if="note.replyId">%fa:reply%</a> <mk-note-html v-if="note.text" :text="note.text" :i="$store.state.i"/> <a class="rp" v-if="note.renoteId">RP: ...</a> </div> <details v-if="note.media.length > 0"> - <summary>({{ note.media.length }}個のメディア)</summary> + <summary>({{ '%i18n:@media-count%'.replace('{}', note.media.length) }})</summary> <mk-media-list :media-list="note.media"/> </details> <details v-if="note.poll"> |