summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/emoji/remote/parse-from-toot.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/source/settings/admin/emoji/remote/parse-from-toot.js')
-rw-r--r--web/source/settings/admin/emoji/remote/parse-from-toot.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/web/source/settings/admin/emoji/remote/parse-from-toot.js b/web/source/settings/admin/emoji/remote/parse-from-toot.js
index 84bbbdc92..905deee30 100644
--- a/web/source/settings/admin/emoji/remote/parse-from-toot.js
+++ b/web/source/settings/admin/emoji/remote/parse-from-toot.js
@@ -115,12 +115,26 @@ function CopyEmojiForm({ localEmojiCodes, type, emojiList }) {
const form = {
selectedEmoji: useCheckListInput("selectedEmoji", {
entries: emojiList,
- uniqueKey: "shortcode"
+ uniqueKey: "id"
}),
category: useComboBoxInput("category")
};
- const [formSubmit, result] = useFormSubmit(form, query.usePatchRemoteEmojisMutation(), { changedOnly: false });
+ const [formSubmit, result] = useFormSubmit(
+ form,
+ query.usePatchRemoteEmojisMutation(),
+ {
+ changedOnly: false,
+ onFinish: ({ data }) => {
+ if (data != undefined) {
+ form.selectedEmoji.updateMultiple(
+ // uncheck all successfully processed emoji
+ data.map(([id]) => [id, { checked: false }])
+ );
+ }
+ }
+ }
+ );
const buttonsInactive = form.selectedEmoji.someSelected
? {}