Expand row on hover, recommended steam params, legend color override

This commit is contained in:
Natsumi
2021-11-23 00:22:53 +13:00
parent 3a102a2c2c
commit 73a23e2c38
5 changed files with 94 additions and 59 deletions

View File

@@ -338,7 +338,7 @@ namespace VRCX
return true;
}
if (line.Contains("] Joining wrld_"))
if (line.Contains("] Joining "))
{
var lineOffset = line.LastIndexOf("] Joining ");
if (lineOffset < 0)

View File

@@ -893,7 +893,7 @@ speechSynthesis.getVoices();
Vue.component('avatar-info', {
template:
'<div @click="confirm" class="avatar-info"><span style="display:inline-block;margin-right:5px">{{ avatarName }}</span><span :class="color">{{ avatarType }}</span></div>',
'<div @click="confirm" class="avatar-info"><span style="margin-right:5px">{{ avatarName }}</span><span :class="color">{{ avatarType }}</span></div>',
props: {
imageurl: String,
userid: String,
@@ -1196,7 +1196,7 @@ speechSynthesis.getVoices();
ref.$trustColor = 'x-tag-troll';
ref.$trustSortNum += 0.1;
}
if (ref.$isLegend) {
if ($app.legendColorOverride && ref.$isLegend) {
ref.$trustColor = 'x-tag-legendary';
ref.$trustSortNum += 0.2;
}
@@ -6236,7 +6236,7 @@ speechSynthesis.getVoices();
$app.data.orderFriendsGroupGPS = configRepository.getBool(
'orderFriendGroupGPS'
);
var saveOrderFriendGroup = function () {
$app.methods.saveOrderFriendGroup = function () {
configRepository.setBool('orderFriendGroup0', this.orderFriendsGroup0);
configRepository.setBool('orderFriendGroup1', this.orderFriendsGroup1);
configRepository.setBool('orderFriendGroup2', this.orderFriendsGroup2);
@@ -6256,13 +6256,6 @@ speechSynthesis.getVoices();
this.sortFriendsGroup0 = true;
this.sortFriendsGroup1 = true;
};
$app.watch.orderFriendsGroup0 = saveOrderFriendGroup;
$app.watch.orderFriendsGroup1 = saveOrderFriendGroup;
$app.watch.orderFriendsGroup2 = saveOrderFriendGroup;
$app.watch.orderFriendsGroup3 = saveOrderFriendGroup;
$app.watch.orderFriendsGroupPrivate = saveOrderFriendGroup;
$app.watch.orderFriendsGroupStatus = saveOrderFriendGroup;
$app.watch.orderFriendsGroupGPS = saveOrderFriendGroup;
$app.methods.fetchActiveFriend = function (userId) {
this.pendingActiveFriends.add(userId);
@@ -8039,6 +8032,8 @@ speechSynthesis.getVoices();
}
};
$app.data.recommendedSteamParams =
'--enable-sdk-log-levels --log-debug-levels=API;NetworkData';
$app.data.lastPortalId = '';
$app.data.lastPortalList = new Map();
$app.data.portalQueue = '';
@@ -8775,14 +8770,15 @@ speechSynthesis.getVoices();
type = 'Muted';
}
if (row.userId) {
if (block === row.block && mute === row.mute) {
return;
}
if (!block && row.block) {
type = 'Unblocked';
} else if (!mute && row.mute) {
type = 'Unmuted';
}
if (block === row.block && mute === row.mute) {
// no change
type = '';
}
}
if (type) {
var noty = {
@@ -10577,6 +10573,9 @@ speechSynthesis.getVoices();
$app.data.vrBackgroundEnabled = configRepository.getBool(
'VRCX_vrBackgroundEnabled'
);
$app.data.legendColorOverride = configRepository.getBool(
'VRCX_legendColorOverride'
);
$app.data.asideWidth = configRepository.getInt('VRCX_asidewidth');
$app.data.autoUpdateVRCX = configRepository.getString(
'VRCX_autoUpdateVRCX'
@@ -10644,6 +10643,15 @@ speechSynthesis.getVoices();
this.updateVRConfigVars();
AppApi.ExecuteVrOverlayFunction('notyClear', '');
};
$app.methods.saveLegendColorOverride = function () {
configRepository.setBool(
'VRCX_legendColorOverride',
this.legendColorOverride
);
API.cachedUsers.forEach((ref, id) => {
API.applyUserTrustLevel(ref);
});
};
$app.data.TTSvoices = speechSynthesis.getVoices();
$app.methods.saveNotificationTTS = function () {
speechSynthesis.cancel();
@@ -10797,6 +10805,13 @@ speechSynthesis.getVoices();
$app.data.vrBackgroundEnabled
);
}
if (!configRepository.getBool('VRCX_legendColorOverride')) {
$app.data.legendColorOverride = false;
configRepository.setBool(
'VRCX_legendColorOverride',
$app.data.legendColorOverride
);
}
if (!configRepository.getInt('VRCX_asidewidth')) {
$app.data.asideWidth = 236;
configRepository.setInt('VRCX_asidewidth', $app.data.asideWidth);
@@ -11681,7 +11696,7 @@ speechSynthesis.getVoices();
$app.methods.promptPhotonLobbyTimeoutThreshold = function () {
this.$prompt(
'Enter amount of seconds (default: 3)',
'Photon Lobby Timeout Threshold',
'User Timeout Threshold',
{
distinguishCancelAndClose: true,
confirmButtonText: 'OK',
@@ -14200,6 +14215,14 @@ speechSynthesis.getVoices();
this.copyToClipboard(url);
};
$app.methods.copyText = function (text) {
this.$message({
message: 'Text copied to clipboard',
type: 'success'
});
this.copyToClipboard(text);
};
// App: VRCPlus Icons
API.$on('LOGIN', function () {
@@ -17704,29 +17727,29 @@ speechSynthesis.getVoices();
};
$app.methods.clearVRCXCache = function () {
API.cachedUsers.forEach((value, key) => {
API.cachedUsers.forEach((ref, id) => {
if (
!this.friends.has(key) &&
!this.lastLocation.playerList.has(value.displayName) &&
key !== API.currentUser.id
!this.friends.has(id) &&
!this.lastLocation.playerList.has(ref.displayName) &&
id !== API.currentUser.id
) {
API.cachedUsers.delete(key);
API.cachedUsers.delete(id);
}
});
API.cachedWorlds.forEach((value, key) => {
API.cachedWorlds.forEach((ref, id) => {
if (
!API.cachedFavoritesByObjectId.has(key) &&
value.authorId !== API.currentUser.id
!API.cachedFavoritesByObjectId.has(id) &&
ref.authorId !== API.currentUser.id
) {
API.cachedWorlds.delete(key);
API.cachedWorlds.delete(id);
}
});
API.cachedAvatars.forEach((value, key) => {
API.cachedAvatars.forEach((ref, id) => {
if (
!API.cachedFavoritesByObjectId.has(key) &&
value.authorId !== API.currentUser.id
!API.cachedFavoritesByObjectId.has(id) &&
ref.authorId !== API.currentUser.id
) {
API.cachedAvatars.delete(key);
API.cachedAvatars.delete(id);
}
});

View File

@@ -90,6 +90,17 @@
padding: 5px 0;
}
.el-table .cell {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
.el-table__row:hover .el-table__cell .cell {
-webkit-box-orient: unset;
-webkit-line-clamp: unset;
}
.el-dialog__body {
padding: 20px;
}
@@ -597,7 +608,6 @@ i.x-user-status.busy {
.avatar-info {
cursor: pointer;
width: fit-content;
display: inline-block;
vertical-align: top;
}

View File

@@ -852,35 +852,35 @@ html
span.sub-header Sorting
div.options-container-item
span.name Sort Private to bottom
el-switch(v-model="orderFriendsGroupPrivate")
el-switch(v-model="orderFriendsGroupPrivate" @change="saveOrderFriendGroup")
div.options-container-item
span.name Sort by status
el-switch(v-model="orderFriendsGroupStatus")
el-switch(v-model="orderFriendsGroupStatus" @change="saveOrderFriendGroup")
div.options-container-item
span.name Sort GPS to top
el-switch(v-model="orderFriendsGroupGPS")
el-switch(v-model="orderFriendsGroupGPS" @change="saveOrderFriendGroup")
span.name(style="margin-left:5px") (online for only)
div.options-container-item
span.name VIP
el-switch(v-model="orderFriendsGroup0" inactive-text="alphabetical" active-text="online for")
el-switch(v-model="orderFriendsGroup0" inactive-text="alphabetical" active-text="online for" @change="saveOrderFriendGroup")
div.options-container-item
span.name Online
el-switch(v-model="orderFriendsGroup1" inactive-text="alphabetical" active-text="online for")
el-switch(v-model="orderFriendsGroup1" inactive-text="alphabetical" active-text="online for" @change="saveOrderFriendGroup")
div.options-container-item
span.name Active
el-switch(v-model="orderFriendsGroup2" inactive-text="alphabetical" active-text="online for")
el-switch(v-model="orderFriendsGroup2" inactive-text="alphabetical" active-text="online for" @change="saveOrderFriendGroup")
div.options-container-item
span.name Offline
el-switch(v-model="orderFriendsGroup3" inactive-text="alphabetical" active-text="online for")
el-switch(v-model="orderFriendsGroup3" inactive-text="alphabetical" active-text="online for" @change="saveOrderFriendGroup")
br
span.sub-header Width
div.options-container-item
el-slider(v-model="asideWidth" @input="setAsideWidth" :show-tooltip="false" :marks="{236: ''}" :min="141" :max="500" style="width:300px")
div.options-container
span.header Trust Rank Colors
span.header User Colors
div.options-container-item
div
v-swatches(v-model="trustColor.untrusted" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-untrusted")
div
v-swatches(v-model="trustColor.untrusted" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-untrusted")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Visitor
div
v-swatches(v-model="trustColor.basic" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-basic")
@@ -895,17 +895,18 @@ html
v-swatches(v-model="trustColor.veteran" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-veteran")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Trusted User
div
v-swatches(v-model="trustColor.legend" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-legend")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Veteran User
div
v-swatches(v-model="trustColor.legendary" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-legendary")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Legend
div
v-swatches(v-model="trustColor.vip" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-vip")
span.color-picker(slot="trigger") #[i.el-icon-s-open] VRChat Team
div
v-swatches(v-model="trustColor.troll" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-troll")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Nuisance
v-swatches(v-model="trustColor.legend" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-legend")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Veteran User
div
v-swatches(v-model="trustColor.vip" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-vip")
span.color-picker(slot="trigger") #[i.el-icon-s-open] VRChat Team
div
v-swatches(v-model="trustColor.troll" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-troll")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Nuisance
div
v-swatches(v-model="trustColor.legendary" show-fallback fallback-input-type="color" popover-x="right" :swatches="trustColorSwatches" class="x-tag-legendary")
span.color-picker(slot="trigger") #[i.el-icon-s-open] Legend
el-switch(v-model="legendColorOverride" style="padding-bottom:5px;padding-left:3px" @change="saveLegendColorOverride")
div.options-container
span.header Discord Presence
div.options-container-item
@@ -913,7 +914,7 @@ html
div.options-container-item
span.name Enable
el-tooltip(placement="top" style="margin-left:5px" content="Recommended to disable Rich Presence in VRChat config.json below to stop it from conflicting")
i.el-icon-warning
i.el-icon-warning(style="cursor:pointer" @click="showVRChatConfig")
el-switch(v-model="discordActive" @change="saveDiscordOption")
div.options-container-item
span.name Instance type/player count
@@ -1072,8 +1073,8 @@ html
el-switch(v-model="progressPieFilter" @change="changeYouTubeApi" :disabled="!openVR")
div.options-container
span.header Photon Logging Overlay
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option")
i.el-icon-warning
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option (click to copy)")
i.el-icon-warning(style="cursor:pointer" @click="copyText(recommendedSteamParams)")
div.options-container-item
span.sub-header Photon Event HUD
div.options-container-item
@@ -2162,7 +2163,7 @@ html
.toggle-item
span.toggle-name Portal Spawn
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--enable-sdk-log-levels' steam launch option")
i.el-icon-warning
i.el-icon-warning(style="cursor:pointer" @click="copyText(recommendedSteamParams)")
el-radio-group(v-model="sharedFeedFilters.noty.PortalSpawn" size="mini")
el-radio-button(label="Off")
el-radio-button(label="VIP")
@@ -2211,8 +2212,8 @@ html
br
.toggle-item
span.toggle-name Photon Event Logging
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option")
i.el-icon-warning
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option (click to copy)")
i.el-icon-warning(style="cursor:pointer" @click="copyText(recommendedSteamParams)")
.toggle-item
span.toggle-name Lobby Avatar Change
el-radio-group(v-model="sharedFeedFilters.noty.AvatarChange" size="mini")
@@ -2350,7 +2351,7 @@ html
.toggle-item
span.toggle-name Portal Spawn
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--enable-sdk-log-levels' steam launch option")
i.el-icon-warning
i.el-icon-warning(style="cursor:pointer" @click="copyText(recommendedSteamParams)")
el-radio-group(v-model="sharedFeedFilters.wrist.PortalSpawn" size="mini")
el-radio-button(label="Off")
el-radio-button(label="VIP")
@@ -2399,8 +2400,8 @@ html
br
.toggle-item
span.toggle-name Photon Event Logging
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option")
i.el-icon-warning
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--log-debug-levels=API;NetworkData' steam launch option (click to copy)")
i.el-icon-warning(style="cursor:pointer" @click="copyText(recommendedSteamParams)")
.toggle-item
span.toggle-name Lobby Avatar Change
el-radio-group(v-model="sharedFeedFilters.wrist.AvatarChange" size="mini")

View File

@@ -198,6 +198,7 @@ button {
.background {
background: #1f1f1f;
text-shadow: none;
}
.x-container {