([]);
+ import { selectFile } from '@/scripts/select-file.js';
watch(roleIdsThatCanBeUsedThisDecoration, async () => {
rolesThatCanBeUsedThisDecoration.value = (await Promise.all(roleIdsThatCanBeUsedThisDecoration.value.map((id) => misskeyApi('admin/roles/show', { roleId: id }).catch(() => null)))).filter(x => x != null);
}, { immediate: true });
+// ファイル選択
+async function selectImage(decoration, ev) {
+ let file = await selectFile(ev.currentTarget ?? ev.target, null);
+ name.value = file.name.replace(/\.(.+)$/, '');
+ url.value = file.url;
+}
+
async function addRole() {
const roles = await misskeyApi('admin/roles/list');
const currentRoleIds = rolesThatCanBeUsedThisDecoration.value.map(x => x.id);
diff --git a/packages/frontend/src/pages/avatar-decorations.vue b/packages/frontend/src/pages/avatar-decorations.vue
index 9ea4746e7d05..61b69d80465b 100644
--- a/packages/frontend/src/pages/avatar-decorations.vue
+++ b/packages/frontend/src/pages/avatar-decorations.vue
@@ -17,7 +17,6 @@ SPDX-License-Identifier: AGPL-3.0-only
@click="edit(avatarDecoration)"
>
{{ avatarDecoration.name }}
- {{ i18n.ts.selectFile }}
@@ -34,19 +33,11 @@ import * as os from '@/os.js';
import { misskeyApi } from '@/scripts/misskey-api.js';
import { i18n } from '@/i18n.js';
import { definePageMetadata } from '@/scripts/page-metadata.js';
-import { selectFile } from '@/scripts/select-file.js';
const $i = signinRequired();
const avatarDecorations = ref([]);
-// ファイル選択
-async function selectImage(decoration, ev) {
- let file = await selectFile(ev.currentTarget ?? ev.target, null);
- decoration.name = file.name.replace(/\.(.+)$/, '');
- decoration.url = file.url;
-}
-
function load() {
misskeyApi('admin/avatar-decorations/list').then(_avatarDecorations => {
avatarDecorations.value = _avatarDecorations;