summaryrefslogtreecommitdiff
path: root/packages/frontend
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-01-16 10:13:19 +0000
committertamaina <tamaina@hotmail.co.jp>2023-01-16 10:13:19 +0000
commitf2a9194c79524298a23f7fcba7abe8ef1f6077c7 (patch)
tree1b6c2acd91437b479f131b9a8520b9cf0b4e61ba /packages/frontend
parentsetInterval (diff)
downloadmisskey-f2a9194c79524298a23f7fcba7abe8ef1f6077c7.tar.gz
misskey-f2a9194c79524298a23f7fcba7abe8ef1f6077c7.tar.bz2
misskey-f2a9194c79524298a23f7fcba7abe8ef1f6077c7.zip
:v:
Diffstat (limited to 'packages/frontend')
-rw-r--r--packages/frontend/src/custom-emojis.ts1
-rw-r--r--packages/frontend/src/pages/custom-emojis-manager.vue21
2 files changed, 20 insertions, 2 deletions
diff --git a/packages/frontend/src/custom-emojis.ts b/packages/frontend/src/custom-emojis.ts
index 6d20187ab4..8fd5078bde 100644
--- a/packages/frontend/src/custom-emojis.ts
+++ b/packages/frontend/src/custom-emojis.ts
@@ -6,6 +6,7 @@ import * as Misskey from 'misskey-js';
const storageCache = miLocalStorage.getItem('emojis');
export const customEmojis = shallowRef<Misskey.entities.CustomEmoji[]>(storageCache ? JSON.parse(storageCache) : []);
+fetchCustomEmojis();
window.setInterval(fetchCustomEmojis, 1000 * 60 * 10);
export async function fetchCustomEmojis() {
diff --git a/packages/frontend/src/pages/custom-emojis-manager.vue b/packages/frontend/src/pages/custom-emojis-manager.vue
index e113c38a19..00c736a6a2 100644
--- a/packages/frontend/src/pages/custom-emojis-manager.vue
+++ b/packages/frontend/src/pages/custom-emojis-manager.vue
@@ -79,7 +79,7 @@ import { selectFile, selectFiles } from '@/scripts/select-file';
import * as os from '@/os';
import { i18n } from '@/i18n';
import { definePageMetadata } from '@/scripts/page-metadata';
-import { fetchCustomEmojis } from '@/custom-emojis';
+import { fetchCustomEmojis, customEmojis } from '@/custom-emojis';
const emojisPaginationComponent = shallowRef<InstanceType<typeof MkPagination>>();
@@ -146,10 +146,27 @@ const edit = (emoji) => {
...oldEmoji,
...result.updated,
}));
+
+ if (customEmojis.value.some(e => e.name === emoji.name)) {
+ customEmojis.value = [
+ {
+ name: result.updated.name,
+ aliases: result.updated.aliases,
+ category: result.updated.category,
+ },
+ ...customEmojis.value,
+ ];
+ } else {
+ customEmojis.value = customEmojis.value.map(e => e.name !== emoji.name ? e : {
+ name: result.updated.name,
+ aliases: result.updated.aliases,
+ category: result.updated.category,
+ });
+ }
} else if (result.deleted) {
emojisPaginationComponent.value.removeItem((item) => item.id === emoji.id);
+ customEmojis.value = customEmojis.value.filter(e => e.name !== emoji.name);
}
- fetchCustomEmojis();
},
}, 'closed');
};