mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-14 04:13:52 +02:00
JSON tab remove VRCX vars
This commit is contained in:
@@ -579,10 +579,10 @@
|
||||
DropdownMenuTrigger
|
||||
} from '../../ui/dropdown-menu';
|
||||
import { avatarModerationRequest, avatarRequest, favoriteRequest, miscRequest } from '../../../api';
|
||||
import { formatJsonVars, getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
import { AppDebug } from '../../../service/appConfig.js';
|
||||
import { Badge } from '../../ui/badge';
|
||||
import { database } from '../../../service/database';
|
||||
import { getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
import { handleImageUploadInput } from '../../../shared/utils/imageUpload';
|
||||
|
||||
const ChangeAvatarImageDialog = defineAsyncComponent(() => import('./ChangeAvatarImageDialog.vue'));
|
||||
@@ -609,7 +609,7 @@
|
||||
const changeAvatarImageDialogVisible = ref(false);
|
||||
const previousImageUrl = ref('');
|
||||
|
||||
const treeData = ref([]);
|
||||
const treeData = ref({});
|
||||
const timeSpent = ref(0);
|
||||
const memo = ref('');
|
||||
const setAvatarTagsDialog = ref({
|
||||
@@ -703,7 +703,7 @@
|
||||
function handleDialogOpen() {
|
||||
setAvatarTagsDialog.value.visible = false;
|
||||
memo.value = '';
|
||||
treeData.value = [];
|
||||
treeData.value = {};
|
||||
getAvatarTimeSpent();
|
||||
getAvatarMemo();
|
||||
}
|
||||
@@ -992,10 +992,7 @@
|
||||
}
|
||||
|
||||
function refreshAvatarDialogTreeData() {
|
||||
treeData.value = {
|
||||
...avatarDialog.value.ref,
|
||||
_hexDisplayName: textToHex(avatarDialog.value.ref?.displayName)
|
||||
};
|
||||
treeData.value = formatJsonVars(avatarDialog.value.ref);
|
||||
}
|
||||
|
||||
function showSetAvatarTagsDialog(avatarId) {
|
||||
|
||||
@@ -1189,9 +1189,9 @@
|
||||
useLocationStore,
|
||||
useUserStore
|
||||
} from '../../../stores';
|
||||
import { formatJsonVars, getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
import { groupDialogFilterOptions, groupDialogSortingOptions } from '../../../shared/constants';
|
||||
import { Badge } from '../../ui/badge';
|
||||
import { getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
import { groupRequest } from '../../../api';
|
||||
|
||||
import GroupCalendarEventCard from '../../../views/Tools/components/GroupCalendarEventCard.vue';
|
||||
@@ -1825,8 +1825,7 @@
|
||||
function refreshGroupDialogTreeData() {
|
||||
const D = groupDialog.value;
|
||||
const treeData = {
|
||||
_hexDisplayName: textToHex(D.ref.displayName),
|
||||
group: D.ref,
|
||||
group: formatJsonVars(D.ref),
|
||||
posts: D.posts,
|
||||
instances: D.instances,
|
||||
members: D.members,
|
||||
|
||||
@@ -809,9 +809,9 @@
|
||||
DropdownMenuTrigger
|
||||
} from '../../ui/dropdown-menu';
|
||||
import { favoriteRequest, miscRequest, userRequest, worldRequest } from '../../../api';
|
||||
import { formatJsonVars, getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
import { Badge } from '../../ui/badge';
|
||||
import { database } from '../../../service/database.js';
|
||||
import { getNextDialogIndex } from '../../../shared/utils/base/ui';
|
||||
|
||||
const NewInstanceDialog = defineAsyncComponent(() => import('../NewInstanceDialog.vue'));
|
||||
const PreviousInstancesWorldDialog = defineAsyncComponent(
|
||||
@@ -835,7 +835,7 @@
|
||||
const { showFullscreenImageDialog } = useGalleryStore();
|
||||
const { t } = useI18n();
|
||||
|
||||
const treeData = ref([]);
|
||||
const treeData = ref({});
|
||||
const worldAllowedDomainsDialog = ref({
|
||||
visible: false,
|
||||
worldId: '',
|
||||
@@ -963,7 +963,7 @@
|
||||
}
|
||||
|
||||
function handleDialogOpen() {
|
||||
treeData.value = [];
|
||||
treeData.value = {};
|
||||
}
|
||||
|
||||
function showChangeWorldImageDialog() {
|
||||
@@ -1305,10 +1305,7 @@
|
||||
nextTick(() => (D.openFlg = false));
|
||||
}
|
||||
function refreshWorldDialogTreeData() {
|
||||
treeData.value = {
|
||||
...worldDialog.value.ref,
|
||||
_hexDisplayName: textToHex(worldDialog.value.ref?.displayName)
|
||||
};
|
||||
treeData.value = formatJsonVars(worldDialog.value.ref);
|
||||
}
|
||||
function copyWorldId() {
|
||||
navigator.clipboard
|
||||
|
||||
@@ -4,6 +4,7 @@ import { toast } from 'vue-sonner';
|
||||
import { THEME_CONFIG } from '../../constants';
|
||||
import { i18n } from '../../../plugin/i18n';
|
||||
import { router } from '../../../plugin/router';
|
||||
import { textToHex } from './string';
|
||||
import { useAppearanceSettingsStore } from '../../../stores';
|
||||
|
||||
import configRepository from '../../../service/config.js';
|
||||
@@ -175,8 +176,11 @@ function HSVtoRGB(h, s, v) {
|
||||
let g = 0;
|
||||
let b = 0;
|
||||
if (arguments.length === 1) {
|
||||
// @ts-ignore
|
||||
s = h.s;
|
||||
// @ts-ignore
|
||||
v = h.v;
|
||||
// @ts-ignore
|
||||
h = h.h;
|
||||
}
|
||||
const i = Math.floor(h * 6);
|
||||
@@ -223,12 +227,47 @@ function HSVtoRGB(h, s, v) {
|
||||
return `#${decColor.toString(16).substr(1)}`;
|
||||
}
|
||||
|
||||
function formatJsonVars(ref) {
|
||||
// remove all object keys that start with $
|
||||
const newRef = { ...ref };
|
||||
for (const key in newRef) {
|
||||
if (key.startsWith('$')) {
|
||||
delete newRef[key];
|
||||
}
|
||||
}
|
||||
// sort keys alphabetically
|
||||
const sortedKeys = Object.keys(newRef).sort();
|
||||
const sortedRef = {};
|
||||
sortedKeys.forEach((key) => {
|
||||
sortedRef[key] = newRef[key];
|
||||
});
|
||||
if ('displayName' in sortedRef) {
|
||||
// add _hexDisplayName to top
|
||||
return {
|
||||
// @ts-ignore
|
||||
_hexDisplayName: textToHex(sortedRef.displayName),
|
||||
...sortedRef
|
||||
};
|
||||
}
|
||||
if ('name' in sortedRef) {
|
||||
// add _hexName to top
|
||||
return {
|
||||
// @ts-ignore
|
||||
_hexName: textToHex(sortedRef.name),
|
||||
...sortedRef
|
||||
};
|
||||
}
|
||||
return sortedRef;
|
||||
}
|
||||
|
||||
function getNextDialogIndex() {
|
||||
let z = 2000;
|
||||
document.querySelectorAll('.el-overlay,.el-modal-dialog').forEach((v) => {
|
||||
// @ts-ignore
|
||||
if (v.style.display === 'none') {
|
||||
return;
|
||||
}
|
||||
// @ts-ignore
|
||||
const _z = Number(v.style.zIndex) || 0;
|
||||
if (_z > z) {
|
||||
z = _z;
|
||||
@@ -300,6 +339,7 @@ export {
|
||||
refreshCustomScript,
|
||||
HueToHex,
|
||||
HSVtoRGB,
|
||||
formatJsonVars,
|
||||
getNextDialogIndex,
|
||||
changeHtmlLangAttribute,
|
||||
setLoginContainerStyle,
|
||||
|
||||
@@ -38,7 +38,7 @@ export const useGroupStore = defineStore('Group', () => {
|
||||
visible: false,
|
||||
loading: false,
|
||||
isGetGroupDialogGroupLoading: false,
|
||||
treeData: [],
|
||||
treeData: {},
|
||||
id: '',
|
||||
inGroup: false,
|
||||
ownerDisplayName: '',
|
||||
@@ -131,7 +131,7 @@ export const useGroupStore = defineStore('Group', () => {
|
||||
D.id = groupId;
|
||||
D.inGroup = false;
|
||||
D.ownerDisplayName = '';
|
||||
D.treeData = [];
|
||||
D.treeData = {};
|
||||
D.announcement = {};
|
||||
D.posts = [];
|
||||
D.postsFiltered = [];
|
||||
|
||||
@@ -18,8 +18,7 @@ import {
|
||||
isRealInstance,
|
||||
parseLocation,
|
||||
removeEmojis,
|
||||
replaceBioSymbols,
|
||||
textToHex
|
||||
replaceBioSymbols
|
||||
} from '../shared/utils';
|
||||
import {
|
||||
avatarRequest,
|
||||
@@ -30,6 +29,7 @@ import {
|
||||
import { processBulk, request } from '../service/request';
|
||||
import { AppDebug } from '../service/appConfig';
|
||||
import { database } from '../service/database';
|
||||
import { formatJsonVars } from '../shared/utils/base/ui';
|
||||
import { useAppearanceSettingsStore } from './settings/appearance';
|
||||
import { useAuthStore } from './auth';
|
||||
import { useAvatarStore } from './avatar';
|
||||
@@ -229,7 +229,7 @@ export const useUserStore = defineStore('User', () => {
|
||||
},
|
||||
avatarSorting: 'update',
|
||||
avatarReleaseStatus: 'all',
|
||||
treeData: [],
|
||||
treeData: {},
|
||||
memo: '',
|
||||
$avatarInfo: {
|
||||
ownerId: '',
|
||||
@@ -768,7 +768,7 @@ export const useUserStore = defineStore('User', () => {
|
||||
}
|
||||
const D = userDialog.value;
|
||||
D.id = userId;
|
||||
D.treeData = [];
|
||||
D.treeData = {};
|
||||
D.memo = '';
|
||||
D.note = '';
|
||||
getUserMemo(userId).then((memo) => {
|
||||
@@ -1224,18 +1224,13 @@ export const useUserStore = defineStore('User', () => {
|
||||
function refreshUserDialogTreeData() {
|
||||
const D = userDialog.value;
|
||||
if (D.id === currentUser.value.id) {
|
||||
const treeData = {
|
||||
D.treeData = formatJsonVars({
|
||||
...currentUser.value,
|
||||
...D.ref,
|
||||
_hexDisplayName: textToHex(D.ref?.displayName)
|
||||
};
|
||||
D.treeData = treeData;
|
||||
...D.ref
|
||||
});
|
||||
return;
|
||||
}
|
||||
D.treeData = {
|
||||
...D.ref,
|
||||
_hexDisplayName: textToHex(D.ref?.displayName)
|
||||
};
|
||||
D.treeData = formatJsonVars(D.ref);
|
||||
}
|
||||
|
||||
async function lookupUser(ref) {
|
||||
|
||||
@@ -36,7 +36,7 @@ export const useWorldStore = defineStore('World', () => {
|
||||
avatarScalingDisabled: false,
|
||||
focusViewDisabled: false,
|
||||
rooms: [],
|
||||
treeData: [],
|
||||
treeData: {},
|
||||
bundleSizes: [],
|
||||
lastUpdated: '',
|
||||
inCache: false,
|
||||
@@ -78,7 +78,7 @@ export const useWorldStore = defineStore('World', () => {
|
||||
L.shortName = shortName;
|
||||
D.id = L.worldId;
|
||||
D.$location = L;
|
||||
D.treeData = [];
|
||||
D.treeData = {};
|
||||
D.bundleSizes = [];
|
||||
D.lastUpdated = '';
|
||||
D.visible = true;
|
||||
|
||||
Reference in New Issue
Block a user