summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-07-20 17:29:21 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-07-20 17:29:21 +0900
commit8e11a30c368195e569459769d2805c328ed02cd3 (patch)
tree1134acf2b85664a45ab3a6a6219fd85eadfc9b84 /packages
parentUpdate CHANGELOG.md (diff)
downloadmisskey-8e11a30c368195e569459769d2805c328ed02cd3.tar.gz
misskey-8e11a30c368195e569459769d2805c328ed02cd3.tar.bz2
misskey-8e11a30c368195e569459769d2805c328ed02cd3.zip
enhance(frontend): 絵文字登録でファイル名を絵文字名の初期値に
Diffstat (limited to 'packages')
-rw-r--r--packages/frontend/src/pages/emoji-edit-dialog.vue9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/frontend/src/pages/emoji-edit-dialog.vue b/packages/frontend/src/pages/emoji-edit-dialog.vue
index 3208c92738..f49057930c 100644
--- a/packages/frontend/src/pages/emoji-edit-dialog.vue
+++ b/packages/frontend/src/pages/emoji-edit-dialog.vue
@@ -26,7 +26,7 @@
</div>
</div>
<MkButton rounded style="margin: 0 auto;" @click="changeImage">{{ i18n.ts.selectFile }}</MkButton>
- <MkInput v-model="name">
+ <MkInput v-model="name" pattern="[a-z0-9_]">
<template #label>{{ i18n.ts.name }}</template>
</MkInput>
<MkInput v-model="category" :datalist="customEmojiCategories">
@@ -70,6 +70,7 @@
<script lang="ts" setup>
import { computed, watch } from 'vue';
+import * as misskey from 'misskey-js';
import MkModalWindow from '@/components/MkModalWindow.vue';
import MkButton from '@/components/MkButton.vue';
import MkInput from '@/components/MkInput.vue';
@@ -95,7 +96,7 @@ let isSensitive = $ref(props.emoji ? props.emoji.isSensitive : false);
let localOnly = $ref(props.emoji ? props.emoji.localOnly : false);
let roleIdsThatCanBeUsedThisEmojiAsReaction = $ref(props.emoji ? props.emoji.roleIdsThatCanBeUsedThisEmojiAsReaction : []);
let rolesThatCanBeUsedThisEmojiAsReaction = $ref([]);
-let file = $ref();
+let file = $ref<misskey.entities.DriveFile>();
watch($$(roleIdsThatCanBeUsedThisEmojiAsReaction), async () => {
rolesThatCanBeUsedThisEmojiAsReaction = (await Promise.all(roleIdsThatCanBeUsedThisEmojiAsReaction.map((id) => os.api('admin/roles/show', { roleId: id }).catch(() => null)))).filter(x => x != null);
@@ -110,6 +111,10 @@ const emit = defineEmits<{
async function changeImage(ev) {
file = await selectFile(ev.currentTarget ?? ev.target, null);
+ const candidate = file.name.replace(/\.(.+)$/, '');
+ if (candidate.match(/^[a-z0-9_]+$/)) {
+ name = candidate;
+ }
}
async function addRole() {