summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPostFormAttaches.vue
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-01-21 05:26:13 +0900
committerGitHub <noreply@github.com>2024-01-21 05:26:13 +0900
commit576484835ebe0c896b7fd242c7f8d58b32579da6 (patch)
tree30c97ec8ca28512645b8a220357baa527d5c74f8 /packages/frontend/src/components/MkPostFormAttaches.vue
parentenhance(reversi): tweak reversi (diff)
downloadsharkey-576484835ebe0c896b7fd242c7f8d58b32579da6.tar.gz
sharkey-576484835ebe0c896b7fd242c7f8d58b32579da6.tar.bz2
sharkey-576484835ebe0c896b7fd242c7f8d58b32579da6.zip
enhance(frontend): ノート作成画面の添付メニューから直接ファイルを消せるように (#12858)
* (enhance) 添付画面から直接ファイルを消せるように * Update Changelog --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/frontend/src/components/MkPostFormAttaches.vue')
-rw-r--r--packages/frontend/src/components/MkPostFormAttaches.vue24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkPostFormAttaches.vue b/packages/frontend/src/components/MkPostFormAttaches.vue
index 31dc48194e..7e8b3b1167 100644
--- a/packages/frontend/src/components/MkPostFormAttaches.vue
+++ b/packages/frontend/src/components/MkPostFormAttaches.vue
@@ -56,6 +56,23 @@ function detachMedia(id: string) {
}
}
+async function detachAndDeleteMedia(file: Misskey.entities.DriveFile) {
+ if (mock) return;
+
+ detachMedia(file.id);
+
+ const { canceled } = await os.confirm({
+ type: 'warning',
+ text: i18n.t('driveFileDeleteConfirm', { name: file.name }),
+ });
+
+ if (canceled) return;
+
+ os.apiWithDialog('drive/files/delete', {
+ fileId: file.id,
+ });
+}
+
function toggleSensitive(file) {
if (mock) {
emit('changeSensitive', file, !file.isSensitive);
@@ -138,6 +155,13 @@ function showFileMenu(file: Misskey.entities.DriveFile, ev: MouseEvent): void {
text: i18n.ts.attachCancel,
icon: 'ti ti-circle-x',
action: () => { detachMedia(file.id); },
+ }, {
+ type: 'divider',
+ }, {
+ text: i18n.ts.deleteFile,
+ icon: 'ti ti-trash',
+ danger: true,
+ action: () => { detachAndDeleteMedia(file); },
}], ev.currentTarget ?? ev.target).then(() => menuShowing = false);
menuShowing = true;
}