mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 14:56:06 +02:00
use computed get local favorite group length
This commit is contained in:
@@ -29,13 +29,13 @@
|
|||||||
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
||||||
@click="removeLocalWorldFavorite(favoriteDialog.objectId, group)">
|
@click="removeLocalWorldFavorite(favoriteDialog.objectId, group)">
|
||||||
<el-icon style="margin-right: 5px"><Check /></el-icon>
|
<el-icon style="margin-right: 5px"><Check /></el-icon>
|
||||||
{{ group }} ({{ getLocalWorldFavoriteGroupLength(group) }})
|
{{ group }} ({{ localWorldFavGroupLength(group) }})
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-else
|
v-else
|
||||||
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
||||||
@click="addLocalWorldFavorite(favoriteDialog.objectId, group)">
|
@click="addLocalWorldFavorite(favoriteDialog.objectId, group)">
|
||||||
{{ group }} ({{ getLocalWorldFavoriteGroupLength(group) }})
|
{{ group }} ({{ localWorldFavGroupLength(group) }})
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
@@ -47,14 +47,14 @@
|
|||||||
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
||||||
@click="removeLocalAvatarFavorite(favoriteDialog.objectId, group)">
|
@click="removeLocalAvatarFavorite(favoriteDialog.objectId, group)">
|
||||||
<el-icon style="margin-right: 5px"><Check /></el-icon>
|
<el-icon style="margin-right: 5px"><Check /></el-icon>
|
||||||
{{ group }} ({{ getLocalAvatarFavoriteGroupLength(group) }})
|
{{ group }} ({{ localAvatarFavGroupLength(group) }})
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-else
|
v-else
|
||||||
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
style="display: block; width: 100%; margin: 10px 0; white-space: initial; height: auto"
|
||||||
:disabled="!isLocalUserVrcPlusSupporter"
|
:disabled="!isLocalUserVrcPlusSupporter"
|
||||||
@click="addLocalAvatarFavorite(favoriteDialog.objectId, group)">
|
@click="addLocalAvatarFavorite(favoriteDialog.objectId, group)">
|
||||||
{{ group }} ({{ getLocalAvatarFavoriteGroupLength(group) }})
|
{{ group }} ({{ localAvatarFavGroupLength(group) }})
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
@@ -85,12 +85,12 @@
|
|||||||
localWorldFavoriteGroups
|
localWorldFavoriteGroups
|
||||||
} = storeToRefs(favoriteStore);
|
} = storeToRefs(favoriteStore);
|
||||||
const {
|
const {
|
||||||
getLocalWorldFavoriteGroupLength,
|
localWorldFavGroupLength,
|
||||||
addLocalWorldFavorite,
|
addLocalWorldFavorite,
|
||||||
hasLocalWorldFavorite,
|
hasLocalWorldFavorite,
|
||||||
hasLocalAvatarFavorite,
|
hasLocalAvatarFavorite,
|
||||||
addLocalAvatarFavorite,
|
addLocalAvatarFavorite,
|
||||||
getLocalAvatarFavoriteGroupLength,
|
localAvatarFavGroupLength,
|
||||||
removeLocalAvatarFavorite,
|
removeLocalAvatarFavorite,
|
||||||
removeLocalWorldFavorite,
|
removeLocalWorldFavorite,
|
||||||
deleteFavoriteNoConfirm
|
deleteFavoriteNoConfirm
|
||||||
|
|||||||
+18
-28
@@ -135,6 +135,22 @@ export const useFavoriteStore = defineStore('Favorite', () => {
|
|||||||
return groupedByGroupKeyFavoriteFriends;
|
return groupedByGroupKeyFavoriteFriends;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const localWorldFavGroupLength = computed(() => (group) => {
|
||||||
|
const favoriteGroup = localWorldFavorites.value[group];
|
||||||
|
if (!favoriteGroup) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return favoriteGroup.length;
|
||||||
|
});
|
||||||
|
|
||||||
|
const localAvatarFavGroupLength = computed(() => (group) => {
|
||||||
|
const favoriteGroup = localAvatarFavorites.value[group];
|
||||||
|
if (!favoriteGroup) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return favoriteGroup.length;
|
||||||
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => watchState.isLoggedIn,
|
() => watchState.isLoggedIn,
|
||||||
(isLoggedIn) => {
|
(isLoggedIn) => {
|
||||||
@@ -905,19 +921,6 @@ export const useFavoriteStore = defineStore('Favorite', () => {
|
|||||||
friendImportDialogVisible.value = true;
|
friendImportDialogVisible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param {string} group
|
|
||||||
* @returns {*|number}
|
|
||||||
*/
|
|
||||||
function getLocalWorldFavoriteGroupLength(group) {
|
|
||||||
const favoriteGroup = localWorldFavorites.value[group];
|
|
||||||
if (!favoriteGroup) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return favoriteGroup.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {string} worldId
|
* @param {string} worldId
|
||||||
@@ -1040,19 +1043,6 @@ export const useFavoriteStore = defineStore('Favorite', () => {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param {string} group
|
|
||||||
* @returns {*|number}
|
|
||||||
*/
|
|
||||||
function getLocalAvatarFavoriteGroupLength(group) {
|
|
||||||
const favoriteGroup = localAvatarFavorites.value[group];
|
|
||||||
if (!favoriteGroup) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return favoriteGroup.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateFavoriteDialog(objectId) {
|
function updateFavoriteDialog(objectId) {
|
||||||
const D = favoriteDialog.value;
|
const D = favoriteDialog.value;
|
||||||
if (!D.visible || D.objectId !== objectId) {
|
if (!D.visible || D.objectId !== objectId) {
|
||||||
@@ -1608,12 +1598,12 @@ export const useFavoriteStore = defineStore('Favorite', () => {
|
|||||||
showWorldImportDialog,
|
showWorldImportDialog,
|
||||||
showAvatarImportDialog,
|
showAvatarImportDialog,
|
||||||
showFriendImportDialog,
|
showFriendImportDialog,
|
||||||
getLocalWorldFavoriteGroupLength,
|
localWorldFavGroupLength,
|
||||||
addLocalWorldFavorite,
|
addLocalWorldFavorite,
|
||||||
hasLocalWorldFavorite,
|
hasLocalWorldFavorite,
|
||||||
hasLocalAvatarFavorite,
|
hasLocalAvatarFavorite,
|
||||||
addLocalAvatarFavorite,
|
addLocalAvatarFavorite,
|
||||||
getLocalAvatarFavoriteGroupLength,
|
localAvatarFavGroupLength,
|
||||||
updateFavoriteDialog,
|
updateFavoriteDialog,
|
||||||
deleteLocalAvatarFavoriteGroup,
|
deleteLocalAvatarFavoriteGroup,
|
||||||
renameLocalAvatarFavoriteGroup,
|
renameLocalAvatarFavoriteGroup,
|
||||||
|
|||||||
@@ -165,7 +165,7 @@
|
|||||||
<template #title v-if="localAvatarFavorites[group]">
|
<template #title v-if="localAvatarFavorites[group]">
|
||||||
<span :style="{ fontWeight: 'bold', fontSize: '14px', marginLeft: '10px' }">{{ group }}</span>
|
<span :style="{ fontWeight: 'bold', fontSize: '14px', marginLeft: '10px' }">{{ group }}</span>
|
||||||
<span :style="{ color: '#909399', fontSize: '12px', marginLeft: '10px' }">{{
|
<span :style="{ color: '#909399', fontSize: '12px', marginLeft: '10px' }">{{
|
||||||
getLocalAvatarFavoriteGroupLength(group)
|
localAvatarFavGroupLength(group)
|
||||||
}}</span>
|
}}</span>
|
||||||
<el-tooltip placement="top" :content="t('view.favorite.rename_tooltip')" :teleported="false">
|
<el-tooltip placement="top" :content="t('view.favorite.rename_tooltip')" :teleported="false">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -253,7 +253,7 @@
|
|||||||
} = storeToRefs(useFavoriteStore());
|
} = storeToRefs(useFavoriteStore());
|
||||||
const {
|
const {
|
||||||
showAvatarImportDialog,
|
showAvatarImportDialog,
|
||||||
getLocalAvatarFavoriteGroupLength,
|
localAvatarFavGroupLength,
|
||||||
deleteLocalAvatarFavoriteGroup,
|
deleteLocalAvatarFavoriteGroup,
|
||||||
renameLocalAvatarFavoriteGroup,
|
renameLocalAvatarFavoriteGroup,
|
||||||
newLocalAvatarFavoriteGroup
|
newLocalAvatarFavoriteGroup
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
<template #title>
|
<template #title>
|
||||||
<span style="font-weight: bold; font-size: 14px; margin-left: 10px" v-text="group" />
|
<span style="font-weight: bold; font-size: 14px; margin-left: 10px" v-text="group" />
|
||||||
<span style="color: #909399; font-size: 12px; margin-left: 10px">{{
|
<span style="color: #909399; font-size: 12px; margin-left: 10px">{{
|
||||||
getLocalWorldFavoriteGroupLength(group)
|
localWorldFavGroupLength(group)
|
||||||
}}</span>
|
}}</span>
|
||||||
<el-tooltip placement="top" :content="t('view.favorite.rename_tooltip')" :teleported="false">
|
<el-tooltip placement="top" :content="t('view.favorite.rename_tooltip')" :teleported="false">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
} = storeToRefs(useFavoriteStore());
|
} = storeToRefs(useFavoriteStore());
|
||||||
const {
|
const {
|
||||||
showWorldImportDialog,
|
showWorldImportDialog,
|
||||||
getLocalWorldFavoriteGroupLength,
|
localWorldFavGroupLength,
|
||||||
deleteLocalWorldFavoriteGroup,
|
deleteLocalWorldFavoriteGroup,
|
||||||
renameLocalWorldFavoriteGroup,
|
renameLocalWorldFavoriteGroup,
|
||||||
removeLocalWorldFavorite,
|
removeLocalWorldFavorite,
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<el-button size="small">
|
<el-button size="small">
|
||||||
<span v-if="avatarExportLocalFavoriteGroup">
|
<span v-if="avatarExportLocalFavoriteGroup">
|
||||||
{{ avatarExportLocalFavoriteGroup }} ({{
|
{{ avatarExportLocalFavoriteGroup }} ({{
|
||||||
getLocalAvatarFavoriteGroupLength(avatarExportLocalFavoriteGroup)
|
localAvatarFavGroupLength(avatarExportLocalFavoriteGroup)
|
||||||
}})
|
}})
|
||||||
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
||||||
</span>
|
</span>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
style="display: block; margin: 10px 0"
|
style="display: block; margin: 10px 0"
|
||||||
@click="selectAvatarExportLocalGroup(group)">
|
@click="selectAvatarExportLocalGroup(group)">
|
||||||
{{ group }} ({{ getLocalAvatarFavoriteGroupLength(group) }})
|
{{ group }} ({{ localAvatarFavGroupLength(group) }})
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
localAvatarFavoritesList,
|
localAvatarFavoritesList,
|
||||||
localAvatarFavoriteGroups
|
localAvatarFavoriteGroups
|
||||||
} = storeToRefs(favoriteStore);
|
} = storeToRefs(favoriteStore);
|
||||||
const { getLocalAvatarFavoriteGroupLength } = favoriteStore;
|
const { localAvatarFavGroupLength } = favoriteStore;
|
||||||
const { cachedAvatars } = useAvatarStore();
|
const { cachedAvatars } = useAvatarStore();
|
||||||
|
|
||||||
const avatarExportContent = ref('');
|
const avatarExportContent = ref('');
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
<el-button size="small">
|
<el-button size="small">
|
||||||
<span v-if="avatarImportDialog.avatarImportLocalFavoriteGroup">
|
<span v-if="avatarImportDialog.avatarImportLocalFavoriteGroup">
|
||||||
{{ avatarImportDialog.avatarImportLocalFavoriteGroup }} ({{
|
{{ avatarImportDialog.avatarImportLocalFavoriteGroup }} ({{
|
||||||
getLocalAvatarFavoriteGroupLength(avatarImportDialog.avatarImportLocalFavoriteGroup)
|
localAvatarFavGroupLength(avatarImportDialog.avatarImportLocalFavoriteGroup)
|
||||||
}})
|
}})
|
||||||
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
||||||
</span>
|
</span>
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
style="display: block; margin: 10px 0"
|
style="display: block; margin: 10px 0"
|
||||||
@click="selectAvatarImportLocalGroup(group)">
|
@click="selectAvatarImportLocalGroup(group)">
|
||||||
{{ group }} ({{ getLocalAvatarFavoriteGroupLength(group) }})
|
{{ group }} ({{ localAvatarFavGroupLength(group) }})
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
const { showUserDialog } = useUserStore();
|
const { showUserDialog } = useUserStore();
|
||||||
const { favoriteAvatarGroups, avatarImportDialogInput, avatarImportDialogVisible, localAvatarFavoriteGroups } =
|
const { favoriteAvatarGroups, avatarImportDialogInput, avatarImportDialogVisible, localAvatarFavoriteGroups } =
|
||||||
storeToRefs(useFavoriteStore());
|
storeToRefs(useFavoriteStore());
|
||||||
const { addLocalAvatarFavorite, getLocalAvatarFavoriteGroupLength } = useFavoriteStore();
|
const { addLocalAvatarFavorite, localAvatarFavGroupLength } = useFavoriteStore();
|
||||||
const { showAvatarDialog, applyAvatar } = useAvatarStore();
|
const { showAvatarDialog, applyAvatar } = useAvatarStore();
|
||||||
const { showFullscreenImageDialog } = useGalleryStore();
|
const { showFullscreenImageDialog } = useGalleryStore();
|
||||||
|
|
||||||
|
|||||||
@@ -41,9 +41,7 @@
|
|||||||
<el-dropdown trigger="click" size="small" style="margin-left: 10px">
|
<el-dropdown trigger="click" size="small" style="margin-left: 10px">
|
||||||
<el-button size="small">
|
<el-button size="small">
|
||||||
<span v-if="worldExportLocalFavoriteGroup">
|
<span v-if="worldExportLocalFavoriteGroup">
|
||||||
{{ worldExportLocalFavoriteGroup }} ({{
|
{{ worldExportLocalFavoriteGroup }} ({{ localWorldFavGroupLength(worldExportLocalFavoriteGroup) }})
|
||||||
getLocalWorldFavoriteGroupLength(worldExportLocalFavoriteGroup)
|
|
||||||
}})
|
|
||||||
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
@@ -109,7 +107,7 @@
|
|||||||
localWorldFavoriteGroups,
|
localWorldFavoriteGroups,
|
||||||
localWorldFavoritesList
|
localWorldFavoritesList
|
||||||
} = storeToRefs(favoriteStore);
|
} = storeToRefs(favoriteStore);
|
||||||
const { getLocalWorldFavoriteGroupLength } = favoriteStore;
|
const { localWorldFavGroupLength } = favoriteStore;
|
||||||
const { cachedWorlds } = useWorldStore();
|
const { cachedWorlds } = useWorldStore();
|
||||||
|
|
||||||
const worldExportContent = ref('');
|
const worldExportContent = ref('');
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
<el-button size="small">
|
<el-button size="small">
|
||||||
<span v-if="worldImportDialog.worldImportLocalFavoriteGroup">
|
<span v-if="worldImportDialog.worldImportLocalFavoriteGroup">
|
||||||
{{ worldImportDialog.worldImportLocalFavoriteGroup }}
|
{{ worldImportDialog.worldImportLocalFavoriteGroup }}
|
||||||
({{ getLocalWorldFavoriteGroupLength(worldImportDialog.worldImportLocalFavoriteGroup) }})
|
({{ localWorldFavGroupLength(worldImportDialog.worldImportLocalFavoriteGroup) }})
|
||||||
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
<el-icon class="el-icon--right"><ArrowDown /></el-icon>
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
style="display: block; margin: 10px 0"
|
style="display: block; margin: 10px 0"
|
||||||
@click="selectWorldImportLocalGroup(group)">
|
@click="selectWorldImportLocalGroup(group)">
|
||||||
{{ group }} ({{ getLocalWorldFavoriteGroupLength(group) }})
|
{{ group }} ({{ localWorldFavGroupLength(group) }})
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
const { showUserDialog } = useUserStore();
|
const { showUserDialog } = useUserStore();
|
||||||
const { favoriteWorldGroups, worldImportDialogInput, worldImportDialogVisible, localWorldFavoriteGroups } =
|
const { favoriteWorldGroups, worldImportDialogInput, worldImportDialogVisible, localWorldFavoriteGroups } =
|
||||||
storeToRefs(useFavoriteStore());
|
storeToRefs(useFavoriteStore());
|
||||||
const { getLocalWorldFavoriteGroupLength, addLocalWorldFavorite } = useFavoriteStore();
|
const { localWorldFavGroupLength, addLocalWorldFavorite } = useFavoriteStore();
|
||||||
const { showWorldDialog } = useWorldStore();
|
const { showWorldDialog } = useWorldStore();
|
||||||
const { showFullscreenImageDialog } = useGalleryStore();
|
const { showFullscreenImageDialog } = useGalleryStore();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user