summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-08-30 16:41:43 +0000
committerdakkar <dakkar@thenautilus.net>2024-08-30 16:41:43 +0000
commitf397146e19f74248120c31e97c9debf43ebc4dd6 (patch)
tree5dce41c3404fba3e99f2d6e516dfc576d46a5b80
parentmerge: thunk the min/max promises (!603) (diff)
parentremove extra line (diff)
downloadsharkey-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.vue11
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();