summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-28 14:39:46 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-28 14:39:46 +0900
commitceda2ca89661d1bd3889453997fe0868a8c31e9d (patch)
tree94a3a12fc7230abdd9f82d77188fec345dfaf9cd /src/client
parent:art: (diff)
downloadmisskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.gz
misskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.tar.bz2
misskey-ceda2ca89661d1bd3889453997fe0868a8c31e9d.zip
Implement delete note
Diffstat (limited to 'src/client')
-rw-r--r--src/client/app/common/views/components/note-menu.vue10
-rw-r--r--src/client/app/desktop/views/components/note-detail.sub.vue1
-rw-r--r--src/client/app/desktop/views/components/note-detail.vue1
-rw-r--r--src/client/app/desktop/views/components/notes.note.vue3
-rw-r--r--src/client/app/desktop/views/components/sub-note-content.vue5
-rw-r--r--src/client/app/mobile/views/components/note-detail.vue3
-rw-r--r--src/client/app/mobile/views/components/note.vue3
-rw-r--r--src/client/app/mobile/views/components/sub-note-content.vue5
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">