diff --git a/html/src/app.js b/html/src/app.js
index c0ae5dd6..ac320b9e 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -3054,6 +3054,42 @@ speechSynthesis.getVoices();
});
};
+ /*
+ params: {
+ avatarId: string
+ }
+ */
+ API.createImposter = function (params) {
+ return this.call(`avatars/${params.avatarId}/impostor/enqueue`, {
+ method: 'POST'
+ }).then((json) => {
+ var args = {
+ json,
+ params
+ };
+ this.$emit('AVATAR:IMPOSTER:CREATE', args);
+ return args;
+ });
+ };
+
+ /*
+ params: {
+ avatarId: string
+ }
+ */
+ API.deleteImposter = function (params) {
+ return this.call(`avatars/${params.avatarId}/impostor`, {
+ method: 'DELETE'
+ }).then((json) => {
+ var args = {
+ json,
+ params
+ };
+ this.$emit('AVATAR:IMPOSTER:DELETE', args);
+ return args;
+ });
+ };
+
// #endregion
// #region | API: Notification
@@ -18626,6 +18662,28 @@ speechSynthesis.getVoices();
return args;
});
break;
+ case 'Delete Imposter':
+ API.deleteImposter({
+ avatarId: D.id
+ }).then((args) => {
+ this.$message({
+ message: 'Imposter deleted',
+ type: 'success'
+ });
+ return args;
+ });
+ break;
+ case 'Create Imposter':
+ API.createImposter({
+ avatarId: D.id
+ }).then((args) => {
+ this.$message({
+ message: 'Imposter queued for creation',
+ type: 'success'
+ });
+ return args;
+ });
+ break;
}
}
});
diff --git a/html/src/index.pug b/html/src/index.pug
index 607aea20..b5db29d6 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -858,7 +858,9 @@ html
el-dropdown-item(icon="el-icon-edit" command="Change Content Tags") {{ $t('dialog.avatar.actions.change_content_tags') }}
el-dropdown-item(icon="el-icon-picture-outline" command="Change Image") {{ $t('dialog.avatar.actions.change_image') }}
el-dropdown-item(v-if="avatarDialog.ref.unityPackageUrl" icon="el-icon-download" command="Download Unity Package") {{ $t('dialog.avatar.actions.download_package') }}
- el-dropdown-item(icon="el-icon-user" command="Delete" style="color:#F56C6C" divided) {{ $t('dialog.avatar.actions.delete') }}
+ el-dropdown-item(v-if="avatarDialog.hasImposter" icon="el-icon-user" command="Delete Imposter" style="color:#F56C6C") {{ $t('dialog.avatar.actions.delete_impostor') }}
+ el-dropdown-item(v-else icon="el-icon-delete" command="Create Imposter") {{ $t('dialog.avatar.actions.create_impostor') }}
+ el-dropdown-item(icon="el-icon-delete" command="Delete" style="color:#F56C6C" divided) {{ $t('dialog.avatar.actions.delete') }}
el-tabs
el-tab-pane(:label="$t('dialog.avatar.info.header')")
.x-friend-list
diff --git a/html/src/localization/en/en.json b/html/src/localization/en/en.json
index be70dd82..52aff269 100644
--- a/html/src/localization/en/en.json
+++ b/html/src/localization/en/en.json
@@ -753,7 +753,9 @@
"change_content_tags": "Change Content Tags",
"change_image": "Change Image",
"download_package": "Download Unity Package",
- "delete": "Delete"
+ "delete": "Delete",
+ "delete_impostor": "Delete Impostor",
+ "create_impostor": "Create Impostor"
},
"info": {
"header": "Info",