diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-08-30 16:41:43 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-08-30 16:41:43 +0000 |
| commit | f397146e19f74248120c31e97c9debf43ebc4dd6 (patch) | |
| tree | 5dce41c3404fba3e99f2d6e516dfc576d46a5b80 | |
| parent | merge: thunk the min/max promises (!603) (diff) | |
| parent | remove extra line (diff) | |
| download | sharkey-f397146e19f74248120c31e97c9debf43ebc4dd6.tar.gz sharkey-f397146e19f74248120c31e97c9debf43ebc4dd6.tar.bz2 sharkey-f397146e19f74248120c31e97c9debf43ebc4dd6.zip | |
merge: Confirm alt text with Control + Enter (!608)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/608
Closes #612
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
| -rw-r--r-- | packages/frontend/src/components/MkFileCaptionEditWindow.vue | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/frontend/src/components/MkFileCaptionEditWindow.vue b/packages/frontend/src/components/MkFileCaptionEditWindow.vue index 39551e6b3c..8754c72b7b 100644 --- a/packages/frontend/src/components/MkFileCaptionEditWindow.vue +++ b/packages/frontend/src/components/MkFileCaptionEditWindow.vue @@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template #header>{{ i18n.ts.describeFile }}</template> <MkSpacer :marginMin="20" :marginMax="28"> <MkDriveFileThumbnail :file="file" fit="contain" style="height: 193px; margin-bottom: 16px;"/> - <MkTextarea v-model="caption" autofocus :placeholder="i18n.ts.inputNewDescription"> + <MkTextarea v-model="caption" autofocus :placeholder="i18n.ts.inputNewDescription" @keydown="onKeydown($event)"> <template #label>{{ i18n.ts.caption }}</template> </MkTextarea> </MkSpacer> @@ -46,6 +46,15 @@ const dialog = shallowRef<InstanceType<typeof MkModalWindow>>(); const caption = ref(props.default); +function onKeydown(ev: KeyboardEvent) { + if (ev.key === 'Enter' && (ev.ctrlKey || ev.metaKey)) ok(); + + if (ev.key === 'Escape') { + emit('closed'); + dialog.value?.close(); + } +} + async function ok() { emit('done', caption.value); dialog.value?.close(); |