diff --git a/html/src/app.js b/html/src/app.js
index ac989cb2..6f4c6702 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -6286,6 +6286,7 @@ speechSynthesis.getVoices();
worldSorting: 'update',
avatarSorting: 'update',
+ avatarReleaseStatus: 'all',
treeData: [],
memo: ''
@@ -6950,6 +6951,20 @@ speechSynthesis.getVoices();
this.setUserDialogAvatars(D.avatars);
};
+ $app.methods.changeUserDialogAvatarReleaseStatus = function () {
+ var D = this.userDialog;
+ this.setUserDialogAvatars(D.avatars);
+ };
+
+ $app.computed.userDialogAvatars = function () {
+ var { avatars, avatarReleaseStatus } = this.userDialog;
+ if (avatarReleaseStatus === 'public' ||
+ avatarReleaseStatus === 'private') {
+ return avatars.filter((avatar) => avatar.releaseStatus === avatarReleaseStatus);
+ }
+ return avatars;
+ };
+
// App: World Dialog
$app.data.worldDialog = {
diff --git a/html/src/index.pug b/html/src/index.pug
index 8b8a3aff..e7afe105 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -887,16 +887,23 @@ html
span.extra(v-if="world.occupants") ({{ world.occupants }})
el-tab-pane(label="Avatars")
el-button(type="default" :loading="userDialog.isAvatarsLoading" @click="refreshUserDialogAvatars()" size="mini" icon="el-icon-refresh" circle)
- span(style="margin-left:5px") Total {{ userDialog.avatars.length }}
+ span(style="margin-left:5px") Total {{ userDialogAvatars.length }}
el-radio-group(v-model="userDialog.avatarSorting" size="mini" style="margin-left:30px" @change="changeUserDialogAvatarSorting")
el-radio(label="name") by name
el-radio(label="update") by update
+ el-radio-group(v-model="userDialog.avatarReleaseStatus" size="mini" style="margin-left:60px")
+ el-radio(label="all") all
+ el-radio(label="public") public
+ el-radio(label="private") private
.x-friend-list(v-loading="userDialog.isAvatarsLoading" style="margin-top:10px;min-height:60px")
- .x-friend-item(v-for="avatar in userDialog.avatars" :key="avatar.id" @click="showAvatarDialog(avatar.id)")
+ .x-friend-item(v-for="avatar in userDialogAvatars" :key="avatar.id" @click="showAvatarDialog(avatar.id)")
.avatar
img(v-lazy="avatar.thumbnailImageUrl")
.detail
span.name(v-text="avatar.name")
+ span.extra(v-text="avatar.releaseStatus" v-if="avatar.releaseStatus === 'public'" style="color: #67c23a;")
+ span.extra(v-text="avatar.releaseStatus" v-else-if="avatar.releaseStatus === 'private'" style="color: #f56c6c;")
+ span.extra(v-text="avatar.releaseStatus" v-else)
el-tab-pane(label="JSON")
el-button(type="default" @click="refreshUserDialogTreeData()" size="mini" icon="el-icon-refresh" circle)
el-tree(:data="userDialog.treeData" style="margin-top:5px;font-size:12px")