diff --git a/src/stores/avatar.js b/src/stores/avatar.js index c67bbf20..dedc18b0 100644 --- a/src/stores/avatar.js +++ b/src/stores/avatar.js @@ -1,4 +1,4 @@ -import { nextTick, ref, watch } from 'vue'; +import { nextTick, reactive, ref, watch } from 'vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import { defineStore } from 'pinia'; @@ -59,7 +59,7 @@ export const useAvatarStore = defineStore('Avatar', () => { cachePath: '', fileAnalysis: [] }); - const avatarHistory = ref(new Set()); + const avatarHistory = reactive(new Set()); const avatarHistoryArray = ref([]); watch( @@ -69,7 +69,7 @@ export const useAvatarStore = defineStore('Avatar', () => { cachedAvatars.clear(); cachedAvatarNames.clear(); cachedAvatarModerations.clear(); - avatarHistory.value.clear(); + avatarHistory.clear(); avatarHistoryArray.value = []; if (isLoggedIn) { getAvatarHistory(); @@ -339,7 +339,7 @@ export const useAvatarStore = defineStore('Avatar', () => { * @returns {Promise} */ async function getAvatarHistory() { - avatarHistory.value = new Set(); + avatarHistory.clear(); const historyArray = await database.getAvatarHistory( userStore.currentUser.id ); @@ -349,7 +349,7 @@ export const useAvatarStore = defineStore('Avatar', () => { continue; } applyAvatar(avatar); - avatarHistory.value.add(avatar.id); + avatarHistory.add(avatar.id); } avatarHistoryArray.value = historyArray; } @@ -378,8 +378,8 @@ export const useAvatarStore = defineStore('Avatar', () => { } avatarHistoryArray.value.unshift(ref); - avatarHistory.value.delete(ref.id); - avatarHistory.value.add(ref.id); + avatarHistory.delete(ref.id); + avatarHistory.add(ref.id); }) .catch((err) => { console.error('Failed to add avatar to history:', err); @@ -387,7 +387,7 @@ export const useAvatarStore = defineStore('Avatar', () => { } function clearAvatarHistory() { - avatarHistory.value = new Set(); + avatarHistory.clear(); avatarHistoryArray.value = []; database.clearAvatarHistory(); } diff --git a/src/stores/friend.js b/src/stores/friend.js index 70a9515f..73b032f8 100644 --- a/src/stores/friend.js +++ b/src/stores/friend.js @@ -53,9 +53,9 @@ export const useFriendStore = defineStore('Friend', () => { let friendLog = new Map(); - const friends = ref(new Map()); + const friends = reactive(new Map()); - const localFavoriteFriends = ref(new Set()); + const localFavoriteFriends = reactive(new Set()); const isRefreshFriendsLoading = ref(false); const onlineFriendCount = ref(0); @@ -96,7 +96,7 @@ export const useFriendStore = defineStore('Friend', () => { }); const vipFriends = computed(() => { - return Array.from(friends.value.values()) + return Array.from(friends.values()) .filter((f) => f.state === 'online' && f.isVIP) .sort( getFriendsSortFunction( @@ -106,7 +106,7 @@ export const useFriendStore = defineStore('Friend', () => { }); const onlineFriends = computed(() => { - return Array.from(friends.value.values()) + return Array.from(friends.values()) .filter((f) => f.state === 'online' && !f.isVIP) .sort( getFriendsSortFunction( @@ -116,7 +116,7 @@ export const useFriendStore = defineStore('Friend', () => { }); const activeFriends = computed(() => { - return Array.from(friends.value.values()) + return Array.from(friends.values()) .filter((f) => f.state === 'active') .sort( getFriendsSortFunction( @@ -126,7 +126,7 @@ export const useFriendStore = defineStore('Friend', () => { }); const offlineFriends = computed(() => { - return Array.from(friends.value.values()) + return Array.from(friends.values()) .filter((f) => f.state === 'offline' || !f.state) .sort( getFriendsSortFunction( @@ -138,7 +138,7 @@ export const useFriendStore = defineStore('Friend', () => { watch( () => watchState.isLoggedIn, (isLoggedIn) => { - friends.value.clear(); + friends.clear(); state.friendNumber = 0; friendLog.clear(); friendLogTable.value.data = []; @@ -241,7 +241,7 @@ export const useFriendStore = defineStore('Friend', () => { function updateLocalFavoriteFriends() { const favoriteStore = useFavoriteStore(); - localFavoriteFriends.value.clear(); + localFavoriteFriends.clear(); for (const ref of favoriteStore.cachedFavorites.values()) { if ( !ref.$isDeleted && @@ -252,15 +252,15 @@ export const useFriendStore = defineStore('Friend', () => { generalSettingsStore.localFavoriteFriendsGroups.length === 0) ) { - localFavoriteFriends.value.add(ref.favoriteId); + localFavoriteFriends.add(ref.favoriteId); } } updateSidebarFriendsList(); } function updateSidebarFriendsList() { - for (const ctx of friends.value.values()) { - const isVIP = localFavoriteFriends.value.has(ctx.id); + for (const ctx of friends.values()) { + const isVIP = localFavoriteFriends.has(ctx.id); if (ctx.isVIP === isVIP) { continue; } @@ -275,7 +275,7 @@ export const useFriendStore = defineStore('Friend', () => { * @param {string?} stateInput */ function updateFriend(id, stateInput = undefined) { - const ctx = friends.value.get(id); + const ctx = friends.get(id); if (typeof ctx === 'undefined') { return; } @@ -294,7 +294,7 @@ export const useFriendStore = defineStore('Friend', () => { ctx.pendingOffline = false; ctx.pendingOfflineTime = ''; } - const isVIP = localFavoriteFriends.value.has(id); + const isVIP = localFavoriteFriends.has(id); let location = ''; let $location_at = undefined; if (typeof ref !== 'undefined') { @@ -439,11 +439,11 @@ export const useFriendStore = defineStore('Friend', () => { ); } } - if (!friends.value.has(id)) { + if (!friends.has(id)) { console.log('Friend not found', id); return; } - const isVIP = localFavoriteFriends.value.has(id); + const isVIP = localFavoriteFriends.has(id); const ref = ctx.ref; if (ctx.state !== newState && typeof ctx.ref !== 'undefined') { if ( @@ -515,11 +515,11 @@ export const useFriendStore = defineStore('Friend', () => { * @param {string} id */ function deleteFriend(id) { - const ctx = friends.value.get(id); + const ctx = friends.get(id); if (typeof ctx === 'undefined') { return; } - friends.value.delete(id); + friends.delete(id); } /** @@ -543,13 +543,13 @@ export const useFriendStore = defineStore('Friend', () => { } for (const friend of map) { const [id, state_input] = friend; - if (friends.value.has(id)) { + if (friends.has(id)) { updateFriend(id, state_input); } else { addFriend(id, state_input); } } - for (id of friends.value.keys()) { + for (id of friends.keys()) { if (map.has(id) === false) { deleteFriend(id); } @@ -561,11 +561,11 @@ export const useFriendStore = defineStore('Friend', () => { * @param {string?} state_input */ function addFriend(id, state_input = undefined) { - if (friends.value.has(id)) { + if (friends.has(id)) { return; } const ref = userStore.cachedUsers.get(id); - const isVIP = localFavoriteFriends.value.has(id); + const isVIP = localFavoriteFriends.has(id); let name = ''; const friend = friendLog.get(id); if (friend) { @@ -603,7 +603,7 @@ export const useFriendStore = defineStore('Friend', () => { } else { ctx.name = ref.name; } - friends.value.set(id, ctx); + friends.set(id, ctx); } /** @@ -731,7 +731,7 @@ export const useFriendStore = defineStore('Friend', () => { } else if (friend.platform) { state_input = 'online'; } - const ref = friends.value.get(friend.id); + const ref = friends.get(friend.id); if (ref?.state !== state_input) { if (AppDebug.debugFriendState) { console.log( @@ -815,7 +815,7 @@ export const useFriendStore = defineStore('Friend', () => { let item; const userIds = []; const displayNames = []; - for (const ctx of friends.value.values()) { + for (const ctx of friends.values()) { userIds.push(ctx.id); if (ctx.ref?.displayName) { displayNames.push(ctx.ref.displayName); @@ -833,7 +833,7 @@ export const useFriendStore = defineStore('Friend', () => { } } - for (const ref of friends.value.values()) { + for (const ref of friends.values()) { if (ref?.ref?.id && ref.ref.displayName) { friendsByDisplayName.set(ref.ref.displayName, ref.id); } @@ -870,7 +870,7 @@ export const useFriendStore = defineStore('Friend', () => { friendListMap.set(item.userId, friend); } for (item of friendListMap.values()) { - ref = friends.value.get(item.userId); + ref = friends.get(item.userId); if (ref?.ref) { ref.ref.$joinCount = item.joinCount; ref.ref.$lastSeen = item.lastSeen; @@ -909,7 +909,7 @@ export const useFriendStore = defineStore('Friend', () => { handleFriendStatus(args); if (args.json.isFriend && !friendLog.has(id)) { if (state.friendNumber === 0) { - state.friendNumber = friends.value.size; + state.friendNumber = friends.size; } ref.$friendNumber = ++state.friendNumber; configRepository.setInt( @@ -1218,7 +1218,7 @@ export const useFriendStore = defineStore('Friend', () => { ref.friendNumber = friendNumber; friendLog.set(ref.userId, ref); database.setFriendLogCurrent(ref); - const friendRef = friends.value.get(userId); + const friendRef = friends.get(userId); if (friendRef?.ref) { friendRef.ref.$friendNumber = friendNumber; } @@ -1246,7 +1246,7 @@ export const useFriendStore = defineStore('Friend', () => { setFriendNumber(state.friendNumber, userId); } if (state.friendNumber === 0) { - state.friendNumber = friends.value.size; + state.friendNumber = friends.size; } console.log('Applied friend order from API', state.friendNumber); await configRepository.setInt( @@ -1359,7 +1359,7 @@ export const useFriendStore = defineStore('Friend', () => { } function applyFriendLogFriendOrderInReverse() { - state.friendNumber = friends.value.size + 1; + state.friendNumber = friends.size + 1; const friendLogTable = getFriendLogFriendOrder(); for (let i = friendLogTable.length - 1; i > -1; i--) { const friendLogEntry = friendLogTable[i]; @@ -1373,12 +1373,12 @@ export const useFriendStore = defineStore('Friend', () => { ref.friendNumber = --state.friendNumber; friendLog.set(ref.userId, ref); database.setFriendLogCurrent(ref); - const friendRef = friends.value.get(friendLogEntry.id); + const friendRef = friends.get(friendLogEntry.id); if (friendRef?.ref) { friendRef.ref.$friendNumber = ref.friendNumber; } } - state.friendNumber = friends.value.size; + state.friendNumber = friends.size; console.log('Applied friend order from friendLog'); } @@ -1412,7 +1412,7 @@ export const useFriendStore = defineStore('Friend', () => { const backupTable = []; for (i = 0; i < backupUserIds.length; i++) { const userId = backupUserIds[i]; - const ctx = friends.value.get(userId); + const ctx = friends.get(userId); if (ctx) { backupTable.push({ id: ctx.id, @@ -1471,7 +1471,7 @@ export const useFriendStore = defineStore('Friend', () => { function applyFriendOrderBackup(userIdOrder) { for (let i = 0; i < userIdOrder.length; i++) { const userId = userIdOrder[i]; - const ctx = friends.value.get(userId); + const ctx = friends.get(userId); const ref = ctx?.ref; if (!ref || ref.$friendNumber) { continue; @@ -1504,7 +1504,7 @@ export const useFriendStore = defineStore('Friend', () => { ref.friendNumber = ++state.friendNumber; friendLog.set(ref.userId, ref); database.setFriendLogCurrent(ref); - const friendRef = friends.value.get(friendLogEntry.id); + const friendRef = friends.get(friendLogEntry.id); if (friendRef?.ref) { friendRef.ref.$friendNumber = ref.friendNumber; } diff --git a/src/stores/group.js b/src/stores/group.js index bec94805..e24426f6 100644 --- a/src/stores/group.js +++ b/src/stores/group.js @@ -1,4 +1,4 @@ -import { nextTick, ref, watch } from 'vue'; +import { nextTick, reactive, ref, watch } from 'vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import { defineStore } from 'pinia'; @@ -63,7 +63,7 @@ export const useGroupStore = defineStore('Group', () => { galleries: {} }); - const currentUserGroups = ref(new Map()); + const currentUserGroups = reactive(new Map()); const inviteGroupDialog = ref({ visible: false, @@ -111,7 +111,7 @@ export const useGroupStore = defineStore('Group', () => { groupMemberModeration.value.visible = false; currentUserGroupsInit.value = false; cachedGroups.clear(); - currentUserGroups.value.clear(); + currentUserGroups.clear(); if (isLoggedIn) { initUserGroups(); } @@ -235,7 +235,7 @@ export const useGroupStore = defineStore('Group', () => { return; } const groups = []; - for (const ref of currentUserGroups.value.values()) { + for (const ref of currentUserGroups.values()) { groups.push({ id: ref.id, name: ref.name, @@ -308,11 +308,11 @@ export const useGroupStore = defineStore('Group', () => { // update group list for (const groupId of groups) { - if (!currentUserGroups.value.has(groupId)) { + if (!currentUserGroups.has(groupId)) { onGroupJoined(groupId); } } - for (const groupId of currentUserGroups.value.keys()) { + for (const groupId of currentUserGroups.keys()) { if (!groups.includes(groupId)) { onGroupLeft(groupId); } @@ -324,8 +324,8 @@ export const useGroupStore = defineStore('Group', () => { * @param {string} groupId */ function onGroupJoined(groupId) { - if (!currentUserGroups.value.has(groupId)) { - currentUserGroups.value.set(groupId, { + if (!currentUserGroups.has(groupId)) { + currentUserGroups.set(groupId, { id: groupId, name: '', iconUrl: '' @@ -348,8 +348,8 @@ export const useGroupStore = defineStore('Group', () => { if (groupDialog.value.visible && groupDialog.value.id === groupId) { showGroupDialog(groupId); } - if (currentUserGroups.value.has(groupId)) { - currentUserGroups.value.delete(groupId); + if (currentUserGroups.has(groupId)) { + currentUserGroups.delete(groupId); groupRequest.getCachedGroup({ groupId }).then((args) => { groupChange(args.ref, 'Left group'); }); @@ -633,7 +633,7 @@ export const useGroupStore = defineStore('Group', () => { }; cachedGroups.set(ref.id, ref); } else { - if (currentUserGroups.value.has(ref.id)) { + if (currentUserGroups.has(ref.id)) { // compare group props if ( ref.ownerId && @@ -695,9 +695,9 @@ export const useGroupStore = defineStore('Group', () => { ref.$url = `https://vrc.group/${ref.shortCode}.${ref.discriminator}`; applyGroupLanguage(ref); - const currentUserGroupRef = currentUserGroups.value.get(ref.id); + const currentUserGroupRef = currentUserGroups.get(ref.id); if (currentUserGroupRef) { - currentUserGroups.value.set(ref.id, ref); + currentUserGroups.set(ref.id, ref); } const D = groupDialog.value; @@ -928,7 +928,7 @@ export const useGroupStore = defineStore('Group', () => { ) ); cachedGroups.clear(); - currentUserGroups.value.clear(); + currentUserGroups.clear(); for (const group of savedGroups) { const json = { id: group.id, @@ -941,7 +941,7 @@ export const useGroupStore = defineStore('Group', () => { } }; const ref = applyGroup(json); - currentUserGroups.value.set(group.id, ref); + currentUserGroups.set(group.id, ref); } if (groups) { @@ -962,7 +962,7 @@ export const useGroupStore = defineStore('Group', () => { includeRoles: true }); const ref = applyGroup(args.json); - currentUserGroups.value.set(groupId, ref); + currentUserGroups.set(groupId, ref); } catch (err) { console.error(err); } @@ -980,11 +980,11 @@ export const useGroupStore = defineStore('Group', () => { userId: userStore.currentUser.id }); handleGroupList(args); - currentUserGroups.value.clear(); + currentUserGroups.clear(); for (const group of args.json) { const ref = applyGroup(group); - if (!currentUserGroups.value.has(group.id)) { - currentUserGroups.value.set(group.id, ref); + if (!currentUserGroups.has(group.id)) { + currentUserGroups.set(group.id, ref); } } const args1 = await groupRequest.getGroupPermissions({ diff --git a/src/stores/instance.js b/src/stores/instance.js index 7c32685e..086d278f 100644 --- a/src/stores/instance.js +++ b/src/stores/instance.js @@ -73,13 +73,13 @@ export const useInstanceStore = defineStore('Instance', () => { const currentInstanceLocation = ref({}); - const queuedInstances = ref(new Map()); + const queuedInstances = reactive(new Map()); const previousInstancesInfoDialogVisible = ref(false); const previousInstancesInfoDialogInstanceId = ref(''); - const instanceJoinHistory = ref(new Map()); + let instanceJoinHistory = reactive(new Map()); const currentInstanceUsersData = ref([]); const currentInstanceUsersTable = computed(() => { @@ -103,10 +103,10 @@ export const useInstanceStore = defineStore('Instance', () => { () => watchState.isLoggedIn, (isLoggedIn) => { currentInstanceUsersData.value = []; - instanceJoinHistory.value = new Map(); + instanceJoinHistory.clear(); previousInstancesInfoDialogVisible.value = false; cachedInstances.clear(); - queuedInstances.value.clear(); + queuedInstances.clear(); if (isLoggedIn) { getInstanceJoinHistory(); } @@ -115,7 +115,13 @@ export const useInstanceStore = defineStore('Instance', () => { ); async function getInstanceJoinHistory() { - instanceJoinHistory.value = await database.getInstanceJoinHistory(); + try { + instanceJoinHistory = reactive( + await database.getInstanceJoinHistory() + ); + } catch (error) { + console.error('Failed to get instance join history:', error); + } } function addInstanceJoinHistory(location, dateTime) { @@ -123,12 +129,12 @@ export const useInstanceStore = defineStore('Instance', () => { return; } - if (instanceJoinHistory.value.has(location)) { - instanceJoinHistory.value.delete(location); + if (instanceJoinHistory.has(location)) { + instanceJoinHistory.delete(location); } const epoch = new Date(dateTime).getTime(); - instanceJoinHistory.value.set(location, epoch); + instanceJoinHistory.set(location, epoch); } function showPreviousInstancesInfoDialog(instanceId) { @@ -883,14 +889,14 @@ export const useInstanceStore = defineStore('Instance', () => { } function removeAllQueuedInstances() { - queuedInstances.value.forEach((ref) => { + queuedInstances.forEach((ref) => { ElMessage({ message: `Removed instance ${ref.$worldName} from queue`, type: 'info' }); ref.$msgBox?.close(); }); - queuedInstances.value.clear(); + queuedInstances.clear(); } /** @@ -898,10 +904,10 @@ export const useInstanceStore = defineStore('Instance', () => { * @param {string} instanceId */ function removeQueuedInstance(instanceId) { - const ref = queuedInstances.value.get(instanceId); + const ref = queuedInstances.get(instanceId); if (typeof ref !== 'undefined') { ref.$msgBox.close(); - queuedInstances.value.delete(instanceId); + queuedInstances.delete(instanceId); } } @@ -910,7 +916,7 @@ export const useInstanceStore = defineStore('Instance', () => { * @param {string} instanceId */ function applyQueuedInstance(instanceId) { - queuedInstances.value.forEach((ref) => { + queuedInstances.forEach((ref) => { if (ref.location !== instanceId) { ElMessage({ message: t('message.instance.removed_form_queue', { @@ -919,13 +925,13 @@ export const useInstanceStore = defineStore('Instance', () => { type: 'info' }); ref.$msgBox?.close(); - queuedInstances.value.delete(ref.location); + queuedInstances.delete(ref.location); } }); if (!instanceId) { return; } - if (!queuedInstances.value.has(instanceId)) { + if (!queuedInstances.has(instanceId)) { const L = parseLocation(instanceId); if (L.isRealInstance) { instanceRequest @@ -958,10 +964,10 @@ export const useInstanceStore = defineStore('Instance', () => { * @param {string} instanceId */ function instanceQueueReady(instanceId) { - const ref = queuedInstances.value.get(instanceId); + const ref = queuedInstances.get(instanceId); if (typeof ref !== 'undefined') { ref.$msgBox.close(); - queuedInstances.value.delete(instanceId); + queuedInstances.delete(instanceId); } const L = parseLocation(instanceId); const group = groupStore.cachedGroups.get(L.groupId); @@ -1002,7 +1008,7 @@ export const useInstanceStore = defineStore('Instance', () => { * @returns {Promise} */ async function instanceQueueUpdate(instanceId, position, queueSize) { - let ref = queuedInstances.value.get(instanceId); + let ref = queuedInstances.get(instanceId); if (typeof ref === 'undefined') { ref = { $msgBox: null, @@ -1036,7 +1042,7 @@ export const useInstanceStore = defineStore('Instance', () => { showClose: true, customClass: 'vrc-instance-queue-message' }); - queuedInstances.value.set(instanceId, ref); + queuedInstances.set(instanceId, ref); // workerTimers.setTimeout(this.instanceQueueTimeout, 3600000); } @@ -1196,9 +1202,9 @@ export const useInstanceStore = defineStore('Instance', () => { // $app.methods.instanceQueueClear = function () { // // remove all instances from queue - // queuedInstances.value.forEach((ref) => { + // queuedInstances.forEach((ref) => { // ref.$msgBox.close(); - // queuedInstances.value.delete(ref.location); + // queuedInstances.delete(ref.location); // }); // }; diff --git a/src/stores/moderation.js b/src/stores/moderation.js index db657775..30e0558e 100644 --- a/src/stores/moderation.js +++ b/src/stores/moderation.js @@ -1,4 +1,4 @@ -import { ref, watch } from 'vue'; +import { reactive, ref, watch } from 'vue'; import { defineStore } from 'pinia'; import { avatarModerationRequest, playerModerationRequest } from '../api'; @@ -10,8 +10,8 @@ export const useModerationStore = defineStore('Moderation', () => { const avatarStore = useAvatarStore(); const userStore = useUserStore(); - const cachedPlayerModerations = ref(new Map()); - const cachedPlayerModerationsUserIds = ref(new Set()); + const cachedPlayerModerations = reactive(new Map()); + const cachedPlayerModerationsUserIds = reactive(new Set()); const playerModerationTable = ref({ data: [], search: '', @@ -46,8 +46,8 @@ export const useModerationStore = defineStore('Moderation', () => { watch( () => watchState.isLoggedIn, (isLoggedIn) => { - cachedPlayerModerations.value.clear(); - cachedPlayerModerationsUserIds.value.clear(); + cachedPlayerModerations.clear(); + cachedPlayerModerationsUserIds.clear(); playerModerationTable.value.loading = false; playerModerationTable.value.data = []; if (isLoggedIn) { @@ -61,14 +61,14 @@ export const useModerationStore = defineStore('Moderation', () => { const { ref } = args; let hasModeration = false; - for (const ref of cachedPlayerModerations.value.values()) { + for (const ref of cachedPlayerModerations.values()) { if (ref.targetUserId === ref.targetUserId) { hasModeration = true; break; } } if (!hasModeration) { - cachedPlayerModerationsUserIds.value.delete(ref.targetUserId); + cachedPlayerModerationsUserIds.delete(ref.targetUserId); } const userRef = userStore.cachedUsers.get(ref.targetUserId); @@ -109,13 +109,13 @@ export const useModerationStore = defineStore('Moderation', () => { function handlePlayerModerationDelete(args) { let { type, moderated } = args.params; const userId = userStore.currentUser.id; - for (let ref of cachedPlayerModerations.value.values()) { + for (let ref of cachedPlayerModerations.values()) { if ( ref.type === type && ref.targetUserId === moderated && ref.sourceUserId === userId ) { - cachedPlayerModerations.value.delete(ref.id); + cachedPlayerModerations.delete(ref.id); handlePlayerModerationAtDelete({ ref, params: { @@ -133,7 +133,7 @@ export const useModerationStore = defineStore('Moderation', () => { * @returns {object} */ function applyPlayerModeration(json) { - let ref = cachedPlayerModerations.value.get(json.id); + let ref = cachedPlayerModerations.get(json.id); if (typeof ref === 'undefined') { ref = { id: '', @@ -148,13 +148,13 @@ export const useModerationStore = defineStore('Moderation', () => { // ...json }; - cachedPlayerModerations.value.set(ref.id, ref); + cachedPlayerModerations.set(ref.id, ref); } else { Object.assign(ref, json); ref.$isExpired = false; } if (json.targetUserId) { - cachedPlayerModerationsUserIds.value.add(json.targetUserId); + cachedPlayerModerationsUserIds.add(json.targetUserId); } const array = playerModerationTable.value.data; const index = array.findIndex((item) => item.id === ref.id); @@ -171,14 +171,14 @@ export const useModerationStore = defineStore('Moderation', () => { } function expirePlayerModerations() { - cachedPlayerModerationsUserIds.value.clear(); - for (let ref of cachedPlayerModerations.value.values()) { + cachedPlayerModerationsUserIds.clear(); + for (let ref of cachedPlayerModerations.values()) { ref.$isExpired = true; } } function deleteExpiredPlayerModerations() { - for (let ref of cachedPlayerModerations.value.values()) { + for (let ref of cachedPlayerModerations.values()) { if (!ref.$isExpired) { continue; } @@ -243,7 +243,7 @@ export const useModerationStore = defineStore('Moderation', () => { isAvatarInteractionDisabled: false, isChatBoxMuted: false }; - for (let ref of cachedPlayerModerations.value.values()) { + for (let ref of cachedPlayerModerations.values()) { if (ref.targetUserId !== userId) { continue; } diff --git a/src/stores/settings/advanced.js b/src/stores/settings/advanced.js index 5a557eaa..e67bdc55 100644 --- a/src/stores/settings/advanced.js +++ b/src/stores/settings/advanced.js @@ -52,7 +52,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => { const ugcFolderPath = ref(''); const autoDeleteOldPrints = ref(false); const notificationOpacity = ref(100); - const currentUserInventory = ref(new Map()); + const currentUserInventory = reactive(new Map()); const isVRChatConfigDialogVisible = ref(false); const saveInstanceEmoji = ref(false); const vrcRegistryAutoBackup = ref(true); @@ -62,7 +62,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => { watch( () => watchState.isLoggedIn, () => { - currentUserInventory.value.clear(); + currentUserInventory.clear(); isVRChatConfigDialogVisible.value = false; }, { flush: 'sync' } diff --git a/src/stores/user.js b/src/stores/user.js index f894d785..72a9dfa2 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -261,7 +261,7 @@ export const useUserStore = defineStore('User', () => { dateFriendedInfo: [] }); - const currentTravelers = ref(new Map()); + const currentTravelers = reactive(new Map()); const subsetOfLanguages = ref([]); const languageDialog = ref({ visible: false, @@ -284,8 +284,8 @@ export const useUserStore = defineStore('User', () => { } } }); - const showUserDialogHistory = ref(new Set()); - const customUserTags = ref(new Map()); + const showUserDialogHistory = reactive(new Set()); + const customUserTags = reactive(new Map()); const state = reactive({ instancePlayerCount: new Map(), @@ -304,10 +304,10 @@ export const useUserStore = defineStore('User', () => { () => watchState.isLoggedIn, (isLoggedIn) => { if (!isLoggedIn) { - currentTravelers.value.clear(); - showUserDialogHistory.value.clear(); + currentTravelers.clear(); + showUserDialogHistory.clear(); state.instancePlayerCount.clear(); - customUserTags.value.clear(); + customUserTags.clear(); state.notes.clear(); pastDisplayNameTable.value.data = []; subsetOfLanguages.value = []; @@ -511,7 +511,7 @@ export const useUserStore = defineStore('User', () => { newCount++; state.instancePlayerCount.set(ref.location, newCount); } - const tag = customUserTags.value.get(json.id); + const tag = customUserTags.get(json.id); if (tag) { ref.$customTag = tag.tag; ref.$customTagColour = tag.colour; @@ -582,23 +582,20 @@ export const useUserStore = defineStore('User', () => { // traveling if (ref.location === 'traveling') { ref.$location = parseLocation(ref.travelingToLocation); - if ( - !currentTravelers.value.has(ref.id) && - ref.travelingToLocation - ) { + if (!currentTravelers.has(ref.id) && ref.travelingToLocation) { const travelRef = reactive({ created_at: new Date().toJSON(), ...ref }); - currentTravelers.value.set(ref.id, travelRef); + currentTravelers.set(ref.id, travelRef); sharedFeedStore.sharedFeed.pendingUpdate = true; sharedFeedStore.updateSharedFeed(false); onPlayerTraveling(travelRef); } } else { ref.$location = parseLocation(ref.location); - if (currentTravelers.value.has(ref.id)) { - currentTravelers.value.delete(ref.id); + if (currentTravelers.has(ref.id)) { + currentTravelers.delete(ref.id); sharedFeedStore.sharedFeed.pendingUpdate = true; sharedFeedStore.updateSharedFeed(false); } @@ -946,8 +943,8 @@ export const useUserStore = defineStore('User', () => { }); } }); - showUserDialogHistory.value.delete(userId); - showUserDialogHistory.value.add(userId); + showUserDialogHistory.delete(userId); + showUserDialogHistory.add(userId); searchStore.quickSearchItems = searchStore.quickSearchUserHistory(); } @@ -1576,12 +1573,12 @@ export const useUserStore = defineStore('User', () => { function addCustomTag(data) { if (data.Tag) { - customUserTags.value.set(data.UserId, { + customUserTags.set(data.UserId, { tag: data.Tag, colour: data.TagColour }); } else { - customUserTags.value.delete(data.UserId); + customUserTags.delete(data.UserId); } const feedUpdate = { userId: data.UserId, diff --git a/src/views/Charts/composables/useInstanceActivityData.js b/src/views/Charts/composables/useInstanceActivityData.js index 50cca2df..f3ee98c9 100644 --- a/src/views/Charts/composables/useInstanceActivityData.js +++ b/src/views/Charts/composables/useInstanceActivityData.js @@ -1,4 +1,4 @@ -import { nextTick, ref } from 'vue'; +import { nextTick, reactive, ref } from 'vue'; import dayjs from 'dayjs'; @@ -8,7 +8,7 @@ import { getWorldName } from '../../../shared/utils'; export function useInstanceActivityData() { const activityData = ref([]); const activityDetailData = ref([]); - const allDateOfActivity = ref(new Set()); + let allDateOfActivity = reactive(new Set()); const worldNameArray = ref([]); async function getAllDateOfActivity() { @@ -24,7 +24,7 @@ export function useInstanceActivityData() { uniqueDates.add(formattedDate); } - allDateOfActivity.value = uniqueDates; + allDateOfActivity = reactive(uniqueDates); } async function getWorldNameData() {