instancesRes: RequestState<GetFederatedInstancesResponse>;
bannedRes: RequestState<BannedPersonsResponse>;
leaveAdminTeamRes: RequestState<GetSiteResponse>;
- emojiLoading: boolean;
loading: boolean;
themeList: string[];
isIsomorphic: boolean;
bannedRes: { state: "empty" },
instancesRes: { state: "empty" },
leaveAdminTeamRes: { state: "empty" },
- emojiLoading: false,
loading: false,
themeList: [],
isIsomorphic: false,
onCreate={this.handleCreateEmoji}
onDelete={this.handleDeleteEmoji}
onEdit={this.handleEditEmoji}
- loading={this.state.emojiLoading}
/>
</div>
</div>
}
async handleEditEmoji(form: EditCustomEmoji) {
- this.setState({ emojiLoading: true });
-
const res = await HttpService.client.editCustomEmoji(form);
if (res.state === "success") {
updateEmojiDataModel(res.data.custom_emoji);
}
-
- this.setState({ emojiLoading: false });
}
async handleDeleteEmoji(form: DeleteCustomEmoji) {
- this.setState({ emojiLoading: true });
-
const res = await HttpService.client.deleteCustomEmoji(form);
if (res.state === "success") {
removeFromEmojiDataModel(res.data.id);
}
-
- this.setState({ emojiLoading: false });
}
async handleCreateEmoji(form: CreateCustomEmoji) {
- this.setState({ emojiLoading: true });
-
const res = await HttpService.client.createCustomEmoji(form);
if (res.state === "success") {
updateEmojiDataModel(res.data.custom_emoji);
}
-
- this.setState({ emojiLoading: false });
}
}