diff options
Diffstat (limited to 'web/source/settings/admin')
| -rw-r--r-- | web/source/settings/admin/emoji/remote/parse-from-toot.js | 18 | 
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  		? {} | 
