This commit is contained in:
pa
2025-10-28 12:40:08 +09:00
committed by Natsumi
parent 4d18c92f59
commit 737bcdd03d
8 changed files with 125 additions and 122 deletions
+35 -35
View File
@@ -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;
}