diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index d0a06e976d..857e97a228 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -37,6 +37,7 @@ common: reload-to-apply-the-setting: "この設定を反映するにはページをリロードする必要があります。今すぐリロードしますか?" fetching-as-ap-object: "連合に照会中" unfollow-confirm: "{name}さんをフォロー解除しますか?" + delete-confirm: "この投稿を削除しますか?" signin-required: "ログインしてください" notification-type: "通知の種類" notification-types: diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts index fc82e78cec..e433ba49cf 100644 --- a/src/client/app/common/scripts/note-mixin.ts +++ b/src/client/app/common/scripts/note-mixin.ts @@ -4,6 +4,7 @@ import shouldMuteNote from './should-mute-note'; import MkNoteMenu from '../views/components/note-menu.vue'; import MkReactionPicker from '../views/components/reaction-picker.vue'; import pleaseLogin from './please-login'; +import i18n from '../../i18n'; function focus(el, fn) { const target = fn(el); @@ -21,6 +22,8 @@ type Opts = { }; export default (opts: Opts = {}) => ({ + i18n: i18n(), + data() { return { showContent: false, @@ -175,8 +178,16 @@ export default (opts: Opts = {}) => ({ }, del() { - this.$root.api('notes/delete', { - noteId: this.appearNote.id + this.$root.dialog({ + type: 'warning', + text: this.$t('@.delete-confirm'), + showCancelButton: true + }).then(({ canceled }) => { + if (canceled) return; + + this.$root.api('notes/delete', { + noteId: this.appearNote.id + }); }); },