Merge pull request #145 from vegaslon/feature/AvatarAppThumbnail

feature: Allow users to set avatar thumbnails that show in avatar app.
This commit is contained in:
kasenvr 2020-02-12 08:59:23 -05:00 committed by GitHub
commit 78e3d65031
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,18 +22,48 @@ ListModel {
return marketItemUrl; return marketItemUrl;
} }
function makeThumbnailUrl(avatarUrl) { function makeMarketThumbnailUrl(marketId) {
var marketId = extractMarketId(avatarUrl);
if (marketId === '') {
return '';
}
var avatarThumbnailUrl = "https://hifi-metaverse.s3-us-west-1.amazonaws.com/marketplace/previews/%marketId%/large/hifi-mp-%marketId%.jpg" var avatarThumbnailUrl = "https://hifi-metaverse.s3-us-west-1.amazonaws.com/marketplace/previews/%marketId%/large/hifi-mp-%marketId%.jpg"
.split('%marketId%').join(marketId); .split('%marketId%').join(marketId);
return avatarThumbnailUrl; return avatarThumbnailUrl;
} }
function trimFileExtension(url) {
var trimmedUrl = url.substring(0, (url.indexOf("#") === -1) ? url.length : url.indexOf("#"));
trimmedUrl = trimmedUrl.substring(0, (trimmedUrl.indexOf("?") === -1) ? trimmedUrl.length : trimmedUrl.indexOf("?"));
trimmedUrl = trimmedUrl.substring(0, trimmedUrl.lastIndexOf("."));
return trimmedUrl;
}
function imageExists(imageUrl) {
var http = new XMLHttpRequest();
http.open('HEAD', imageUrl, false);
http.send();
return http.status !== 404;
}
function makeThumbnailUrl(avatarUrl) {
var marketId = extractMarketId(avatarUrl);
if (marketId !== '') {
return makeMarketThumbnailUrl(marketId);
}
var avatarThumbnailFileUrl = trimFileExtension(avatarUrl) + ".jpg";
var thumbnailExist = imageExists(avatarThumbnailFileUrl);
if (!thumbnailExist) {
return '';
}
return avatarThumbnailFileUrl;
}
function makeAvatarObject(avatar, avatarName) { function makeAvatarObject(avatar, avatarName) {
var avatarThumbnailUrl = makeThumbnailUrl(avatar.avatarUrl); var avatarThumbnailUrl = makeThumbnailUrl(avatar.avatarUrl);