mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-04 22:06:06 +02:00
Enable adding friends to multiple local favorite groups and update instance activity charts to include all favorite friends.
This commit is contained in:
@@ -186,8 +186,8 @@
|
||||
import BackToTop from '@/components/BackToTop.vue';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
import { useAppearanceSettingsStore, useFavoriteStore, useFriendStore, useUserStore } from '../../../stores';
|
||||
import { Popover, PopoverContent, PopoverTrigger } from '../../../components/ui/popover';
|
||||
import { useAppearanceSettingsStore, useFriendStore, useUserStore } from '../../../stores';
|
||||
import { parseLocation, timeToText } from '../../../shared/utils';
|
||||
import { Slider } from '../../../components/ui/slider';
|
||||
import { Switch } from '../../../components/ui/switch';
|
||||
@@ -204,11 +204,32 @@
|
||||
|
||||
const appearanceSettingsStore = useAppearanceSettingsStore();
|
||||
const friendStore = useFriendStore();
|
||||
const favoriteStore = useFavoriteStore();
|
||||
const { isDarkMode, dtHour12 } = storeToRefs(appearanceSettingsStore);
|
||||
const { localFavoriteFriends, friends } = storeToRefs(friendStore);
|
||||
const { friends } = storeToRefs(friendStore);
|
||||
const { cachedFavorites, localFriendFavorites } = storeToRefs(favoriteStore);
|
||||
const { currentUser } = storeToRefs(useUserStore());
|
||||
const { t } = useI18n();
|
||||
|
||||
// All favorite friends (remote + local)
|
||||
const allFavoriteFriends = computed(() => {
|
||||
const set = new Set();
|
||||
for (const ref of cachedFavorites.value.values()) {
|
||||
if (ref.type === 'friend') {
|
||||
set.add(ref.favoriteId);
|
||||
}
|
||||
}
|
||||
for (const group in localFriendFavorites.value) {
|
||||
const userIds = localFriendFavorites.value[group];
|
||||
if (userIds) {
|
||||
for (const id of userIds) {
|
||||
set.add(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
return set;
|
||||
});
|
||||
|
||||
const instanceActivityRef = ref(null);
|
||||
|
||||
const instanceActivityResizeObserver = new ResizeObserver(() => {
|
||||
@@ -373,7 +394,7 @@
|
||||
onMounted(async () => {
|
||||
try {
|
||||
getAllDateOfActivity();
|
||||
await getActivityData(selectedDate, currentUser, friends, localFavoriteFriends, () =>
|
||||
await getActivityData(selectedDate, currentUser, friends, allFavoriteFriends, () =>
|
||||
handleIntersectionObserver(activityDetailChartRef)
|
||||
);
|
||||
await getWorldNameData();
|
||||
@@ -398,7 +419,7 @@
|
||||
reloadData = async function () {
|
||||
isLoading.value = true;
|
||||
try {
|
||||
await getActivityData(selectedDate, currentUser, friends, localFavoriteFriends, () =>
|
||||
await getActivityData(selectedDate, currentUser, friends, allFavoriteFriends, () =>
|
||||
handleIntersectionObserver(activityDetailChartRef)
|
||||
);
|
||||
await getWorldNameData();
|
||||
|
||||
@@ -63,7 +63,8 @@ export function useInstanceActivityData() {
|
||||
isFriend:
|
||||
item.user_id === currentUser.value.id
|
||||
? null
|
||||
: friends.value.has(item.user_id),
|
||||
: friends.value.has(item.user_id) ||
|
||||
localFavoriteFriends.value.has(item.user_id),
|
||||
isFavorite:
|
||||
item.user_id === currentUser.value.id
|
||||
? null
|
||||
|
||||
Reference in New Issue
Block a user