diff --git a/html/src/app.js b/html/src/app.js index ba46c8f7..565b10cc 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -881,8 +881,11 @@ speechSynthesis.getVoices(); var L = API.parseLocation(instanceId); var groupAccessType = ''; if (L.groupAccessType) { - if (L.groupAccessType === 'public') + if (L.groupAccessType === 'public') { groupAccessType = 'Public'; + } else if (L.groupAccessType === 'plus') { + groupAccessType = 'Plus'; + } } if (L.isOffline) { this.text = 'Offline'; @@ -1019,6 +1022,8 @@ speechSynthesis.getVoices(); if (this.locationobject.groupAccessType) { if (this.locationobject.groupAccessType === 'public') { this.groupAccessType = 'Public'; + } else if (this.locationobject.groupAccessType === 'plus') { + this.groupAccessType = 'Plus'; } } @@ -4671,7 +4676,27 @@ speechSynthesis.getVoices(); $app.onGroupLeft(groupId); break; + case 'group-role-updated': + var groupId = content.role.groupId; + console.log('group-role-updated', content); + // content { + // role: { + // createdAt: string, + // description: string, + // groupId: string, + // id: string, + // isManagementRole: boolean, + // isSelfAssignable: boolean, + // name: string, + // order: number, + // permissions: string[], + // requiresPurchase: boolean, + // requiresTwoFactor: boolean + break; + case 'group-member-updated': + var groupId = content.groupId; + console.log('group-member-updated', content); // content { // groupId: string, // id: string, @@ -11799,6 +11824,8 @@ speechSynthesis.getVoices(); if (L.groupAccessType) { if (L.groupAccessType === 'public') { groupAccessType = 'Public'; + } else if (L.groupAccessType === 'plus') { + groupAccessType = 'Plus'; } } switch (L.accessType) { @@ -15751,6 +15778,7 @@ speechSynthesis.getVoices(); ref: {}, isPC: false, isQuest: false, + isIos: false, inCache: false, cacheSize: '', fileCreatedAt: '', @@ -15768,6 +15796,7 @@ speechSynthesis.getVoices(); ref: {}, isPC: false, isQuest: false, + isIos: false, inCache: false, cacheSize: '', fileCreatedAt: '', @@ -15779,6 +15808,7 @@ speechSynthesis.getVoices(); ref: {}, isPC: false, isQuest: false, + isIos: false, inCache: false, cacheSize: '', fileCreatedAt: '', @@ -15790,11 +15820,12 @@ speechSynthesis.getVoices(); worldId: L.worldId }).then((args) => { this.currentInstanceWorld.ref = args.ref; - var { isPC, isQuest } = this.getAvailablePlatforms( + var { isPC, isQuest, isIos } = this.getAvailablePlatforms( args.ref.unityPackages ); this.currentInstanceWorld.isPC = isPC; this.currentInstanceWorld.isQuest = isQuest; + this.currentInstanceWorld.isIos = isIos; this.checkVRChatCache(args.ref).then((cacheInfo) => { if (cacheInfo[0] > 0) { this.currentInstanceWorld.inCache = true; @@ -15816,11 +15847,12 @@ speechSynthesis.getVoices(); worldId: this.currentInstanceLocation.worldId }).then((args) => { this.currentInstanceWorld.ref = args.ref; - var { isPC, isQuest } = this.getAvailablePlatforms( + var { isPC, isQuest, isIos } = this.getAvailablePlatforms( args.ref.unityPackages ); this.currentInstanceWorld.isPC = isPC; this.currentInstanceWorld.isQuest = isQuest; + this.currentInstanceWorld.isIos = isIos; this.checkVRChatCache(args.ref).then((cacheInfo) => { if (cacheInfo[0] > 0) { this.currentInstanceWorld.inCache = true; @@ -15836,16 +15868,19 @@ speechSynthesis.getVoices(); $app.methods.getAvailablePlatforms = function (unityPackages) { var isPC = false; var isQuest = false; + var isIos = false; if (typeof unityPackages === 'object') { for (var unityPackage of unityPackages) { if (unityPackage.platform === 'standalonewindows') { isPC = true; } else if (unityPackage.platform === 'android') { isQuest = true; + } else if (unityPackage.platform === 'ios') { + isIos = true; } } } - return { isPC, isQuest }; + return { isPC, isQuest, isIos }; }; $app.methods.selectCurrentInstanceRow = function (val) { @@ -16409,7 +16444,8 @@ speechSynthesis.getVoices(); visitCount: 0, timeSpent: 0, isPC: false, - isQuest: false + isQuest: false, + isIos: false }; API.$on('LOGOUT', function () { @@ -16534,6 +16570,7 @@ speechSynthesis.getVoices(); D.timeSpent = 0; D.isPC = false; D.isQuest = false; + D.isIos = false; var LL = API.parseLocation(this.lastLocation.location); var currentWorldMatch = false; if (LL.worldId === D.id) { @@ -16576,11 +16613,12 @@ speechSynthesis.getVoices(); D.id ); } - var { isPC, isQuest } = this.getAvailablePlatforms( + var { isPC, isQuest, isIos } = this.getAvailablePlatforms( args.ref.unityPackages ); D.isPC = isPC; D.isQuest = isQuest; + D.isIos = isIos; this.updateVRChatWorldCache(); if (args.cache) { API.getWorld(args.params) @@ -25201,6 +25239,7 @@ speechSynthesis.getVoices(); D.ownerDisplayName = args1.ref.displayName; return args1; }); + this.applyGroupDialogInstances(); this.getGroupDialogGroup(groupId); } }); diff --git a/html/src/app.scss b/html/src/app.scss index 2a41aa55..67a10e65 100644 --- a/html/src/app.scss +++ b/html/src/app.scss @@ -524,6 +524,16 @@ i.x-user-status.busy { border-color: #67c23a !important; } +.x-tag-platform-ios { + color: #c7c7ce !important; + border-color: #c7c7ce !important; +} + +.x-tag-platform-other { + color: #ff4177 !important; + border-color: #ff4177 !important; +} + .el-tree-node { white-space: normal; } diff --git a/html/src/index.pug b/html/src/index.pug index bd3f028b..1f538c79 100644 --- a/html/src/index.pug +++ b/html/src/index.pug @@ -234,6 +234,8 @@ html el-tag.x-tag-vrcplus(v-if="userDialog.ref.$isVRCPlus" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") VRC+ el-tag.x-tag-platform-pc(v-if="userDialog.ref.last_platform === 'standalonewindows'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") PC el-tag.x-tag-platform-quest(v-else-if="userDialog.ref.last_platform === 'android'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") Quest + el-tag.x-tag-platform-ios(v-else-if="userDialog.ref.last_platform === 'ios'" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") iOS + el-tag.x-tag-platform-other(v-else-if="userDialog.ref.last_platform" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") {{ userDialog.ref.last_platform }} el-tag.name(v-if="userDialog.ref.$customTag" type="info" effect="plain" size="mini" v-text="userDialog.ref.$customTag" :style="{'color':userDialog.ref.$customTagColour, 'border-color':userDialog.ref.$customTagColour}" style="margin-right:5px;margin-top:5px") div(style="margin-top:5px") span(v-text="userDialog.ref.statusDescription" style="font-size:12px") @@ -552,6 +554,7 @@ html el-tag(v-else type="danger" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") {{ $t('dialog.world.tags.private') }} el-tag.x-tag-platform-pc(v-if="worldDialog.isPC" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") PC el-tag.x-tag-platform-quest(v-if="worldDialog.isQuest" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") Quest + el-tag.x-tag-platform-ios(v-if="worldDialog.isIos" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") iOS el-tag(type="info" effect="plain" size="mini" v-text="worldDialog.fileSize" style="margin-right:5px;margin-top:5px") el-tag(v-if="worldDialog.inCache" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") span(v-text="worldDialog.cacheSize") @@ -1161,6 +1164,7 @@ html el-form-item(:label="$t('dialog.new_instance.group_access_type')" v-if="newInstanceDialog.accessType === 'group'") el-radio-group(v-model="newInstanceDialog.groupAccessType" size="mini" @change="buildInstance") el-radio-button(label="members") {{ $t('dialog.new_instance.group_access_type_members') }} + el-radio-button(label="plus") {{ $t('dialog.new_instance.group_access_type_plus') }} el-radio-button(label="public") {{ $t('dialog.new_instance.group_access_type_public') }} //- el-form-item(label="Strict" v-if="newInstanceDialog.accessType === 'friends' || newInstanceDialog.accessType === 'invite'") //- el-checkbox(v-model="newInstanceDialog.strict") Prevent non friends joining via URL/Instance ID diff --git a/html/src/localization/strings/en.json b/html/src/localization/strings/en.json index e0912486..dce1f25d 100644 --- a/html/src/localization/strings/en.json +++ b/html/src/localization/strings/en.json @@ -819,6 +819,7 @@ "access_type_invite": "Invite", "group_access_type": "Group Access", "group_access_type_members": "Members", + "group_access_type_plus": "Plus", "group_access_type_public": "Public", "region": "Region", "region_usw": "US West",