diff --git a/html/src/app.js b/html/src/app.js
index baf3612a..63e3b096 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -2654,17 +2654,6 @@ speechSynthesis.getVoices();
}
});
- API.$on('FAVORITE:FRIEND:LIST', function (args) {
- for (var json of args.json) {
- this.$emit('USER', {
- json,
- params: {
- userId: json.id
- }
- });
- }
- });
-
API.$on('FAVORITE:WORLD:LIST', function (args) {
for (var json of args.json) {
if (json.id === '???') {
@@ -2755,7 +2744,6 @@ speechSynthesis.getVoices();
API.refreshFavoriteItems = function () {
var types = {
- // 'friend': [0, 'getFavoriteFriends'],
'world': [0, 'getFavoriteWorlds'],
'avatar': [0, 'getFavoriteAvatars']
};
@@ -3150,26 +3138,6 @@ speechSynthesis.getVoices();
});
};
- /*
- params: {
- n: number,
- offset: number
- }
- */
- API.getFavoriteFriends = function (params) {
- return this.call('auth/user/friends/favorite', {
- method: 'GET',
- params
- }).then((json) => {
- var args = {
- json,
- params
- };
- this.$emit('FAVORITE:FRIEND:LIST', args);
- return args;
- });
- };
-
/*
params: {
n: number,
@@ -7497,6 +7465,7 @@ speechSynthesis.getVoices();
$avatarInfo: {
ownerId: '',
avatarName: '',
+ fileCreatedAt: ''
}
};
@@ -8527,12 +8496,13 @@ speechSynthesis.getVoices();
return;
}
D.ref = args.ref;
- if (D.fileSize === 'Loading') {
+ if (D.fileSize === 'Unknown') {
var id = extractFileId(args.ref.assetUrl);
if (id) {
+ D.fileSize = 'Loading';
this.call(`file/${id}`).then((json) => {
var ref = json.versions[json.versions.length - 1];
- D.fileCreatedAt = ref.created_at;
+ D.ref.created_at = ref.created_at;
D.fileSize = `${(ref.file.sizeInBytes / 1048576).toFixed(2)} MiB`;
});
}
@@ -8564,8 +8534,7 @@ speechSynthesis.getVoices();
var D = this.avatarDialog;
D.id = avatarId;
D.treeData = [];
- D.fileCreatedAt = '';
- D.fileSize = 'Loading';
+ D.fileSize = 'Unknown';
D.visible = true;
D.loading = true;
API.getCachedAvatar({
@@ -8575,12 +8544,25 @@ speechSynthesis.getVoices();
D.visible = false;
throw err;
}).then((args) => {
- if (D.id === args.ref.id) {
+ if ((D.visible) && (D.id === args.ref.id)) {
D.loading = false;
D.ref = args.ref;
D.isFavorite = API.cachedFavoritesByObjectId.has(D.ref.id);
- if (args.cache) {
+ if ((args.cache) && (D.ref.authorId === API.currentUser.id)) {
API.getAvatar(args.params);
+ } else {
+ var fileId = extractFileId(D.ref.imageUrl);
+ if ((fileId) && (!D.ref.created_at)) {
+ if (API.cachedAvatarNames.has(fileId)) {
+ var avatarInfo = API.cachedAvatarNames.get(fileId);
+ D.ref.created_at = avatarInfo.fileCreatedAt;
+ } else {
+ API.getAvatarImages({fileId}).then((args) => {
+ var avatarInfo = this.storeAvatarImage(args);
+ D.ref.created_at = avatarInfo.fileCreatedAt;
+ });
+ }
+ }
}
}
return args;
@@ -10696,6 +10678,9 @@ speechSynthesis.getVoices();
});
$app.methods.storeAvatarImage = function (args) {
+ var refCreatedAt = args.json.versions[0];
+ var fileCreatedAt = refCreatedAt.created_at;
+ var ref = args.json.versions[args.json.versions.length - 1];
var fileId = args.params.fileId;
var avatarName = '';
var imageName = args.json.name;
@@ -10706,7 +10691,8 @@ speechSynthesis.getVoices();
var ownerId = args.json.ownerId;
var avatarInfo = {
ownerId,
- avatarName
+ avatarName,
+ fileCreatedAt
};
API.cachedAvatarNames.set(fileId, avatarInfo);
return avatarInfo;
diff --git a/html/src/index.pug b/html/src/index.pug
index 24d8974d..50f429f8 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -1110,7 +1110,7 @@ html
span(v-if="!scope.data.children" v-text="scope.data.value")
//- dialog: world
- el-dialog.x-dialog.x-world-dialog(ref="worldDialog" :visible.sync="worldDialog.visible" :show-close="false" width="600px")
+ el-dialog.x-dialog.x-world-dialog(ref="worldDialog" :visible.sync="worldDialog.visible" :show-close="false" width="770px")
div(v-loading="worldDialog.loading")
div(style="display:flex")
el-popover(placement="right" width="500px" trigger="click")
@@ -1274,15 +1274,17 @@ html
.x-friend-item(style="cursor:default")
.detail
span.name Last Updated
- span.extra {{ avatarDialog.fileCreatedAt | formatDate('YYYY-MM-DD HH24:MI:SS') || '-' }}
+ span.extra {{ avatarDialog.ref.updated_at | formatDate('YYYY-MM-DD HH24:MI:SS') || '-' }}
.x-friend-item(style="cursor:default")
.detail
span.name Version
- span.extra(v-text="avatarDialog.ref.version")
+ span.extra(v-if="avatarDialog.ref.version !== 0" v-text="avatarDialog.ref.version")
+ span.extra(v-else) -
.x-friend-item(style="width:100%;cursor:default")
.detail
span.name Platform
- span.extra(v-text="avatarDialogPlatform")
+ span.extra(v-if="avatarDialogPlatform" v-text="avatarDialogPlatform")
+ span.extra(v-else) -
el-tab-pane(label="JSON")
el-button(type="default" @click="refreshAvatarDialogTreeData()" size="mini" icon="el-icon-refresh" circle)
el-tree(:data="avatarDialog.treeData" style="margin-top:5px;font-size:12px")