summaryrefslogtreecommitdiff
path: root/packages/frontend/src/composables/use-uploader.ts
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-06-25 10:49:58 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-06-25 10:49:58 +0900
commit32d4c312ef14844952ba3fa5a93d67f1de9e9827 (patch)
treea91e94095f23f20849f7a29b40b3ae2d5e0ccb98 /packages/frontend/src/composables/use-uploader.ts
parentenhance(frontend): improve theme settings (diff)
downloadmisskey-32d4c312ef14844952ba3fa5a93d67f1de9e9827.tar.gz
misskey-32d4c312ef14844952ba3fa5a93d67f1de9e9827.tar.bz2
misskey-32d4c312ef14844952ba3fa5a93d67f1de9e9827.zip
enhance(frontend): ファイルアップロード前にキャプション設定を行えるように
Resolve #16210
Diffstat (limited to 'packages/frontend/src/composables/use-uploader.ts')
-rw-r--r--packages/frontend/src/composables/use-uploader.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/frontend/src/composables/use-uploader.ts b/packages/frontend/src/composables/use-uploader.ts
index aadbc9eb41..65a2ac161f 100644
--- a/packages/frontend/src/composables/use-uploader.ts
+++ b/packages/frontend/src/composables/use-uploader.ts
@@ -82,6 +82,7 @@ export type UploaderItem = {
file: File;
watermarkPresetId: string | null;
isSensitive?: boolean;
+ caption?: string | null;
abort?: (() => void) | null;
};
@@ -194,6 +195,21 @@ export function useUploader(options: {
set: (value) => item.isSensitive = value,
}),
}, {
+ text: i18n.ts.describeFile,
+ icon: 'ti ti-text-caption',
+ action: async () => {
+ const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkFileCaptionEditWindow.vue').then(x => x.default), {
+ default: item.caption ?? null,
+ }, {
+ done: caption => {
+ if (caption != null) {
+ item.caption = caption.trim().length === 0 ? null : caption;
+ }
+ },
+ closed: () => dispose(),
+ });
+ },
+ }, {
type: 'divider',
});
}
@@ -408,6 +424,7 @@ export function useUploader(options: {
name: item.uploadName ?? item.name,
folderId: options.folderId,
isSensitive: item.isSensitive ?? false,
+ caption: item.caption ?? null,
onProgress: (progress) => {
if (item.progress == null) {
item.progress = { max: progress.total, value: progress.loaded };