add isFriendLogLoaded flag to Friend store

This commit is contained in:
pa
2026-01-29 16:59:34 +09:00
parent 1d4026a89c
commit 48d84363ec
3 changed files with 10 additions and 3 deletions
+5 -1
View File
@@ -69,6 +69,7 @@ export const useFriendStore = defineStore('Friend', () => {
const isRefreshFriendsLoading = ref(false); const isRefreshFriendsLoading = ref(false);
const onlineFriendCount = ref(0); const onlineFriendCount = ref(0);
const isFriendLogLoaded = ref(false);
const pendingOfflineDelay = 170000; const pendingOfflineDelay = 170000;
let pendingOfflineWorker = null; let pendingOfflineWorker = null;
@@ -1285,6 +1286,7 @@ export const useFriendStore = defineStore('Friend', () => {
friendLogTable.value.loading = true; friendLogTable.value.loading = true;
friendLogTable.value.data = await database.getFriendLogHistory(); friendLogTable.value.data = await database.getFriendLogHistory();
friendLogTable.value.loading = false; friendLogTable.value.loading = false;
isFriendLogLoaded.value = true;
} }
/** /**
@@ -1656,6 +1658,7 @@ export const useFriendStore = defineStore('Friend', () => {
onlineFriendCount, onlineFriendCount,
friendLog, friendLog,
friendLogTable, friendLogTable,
isFriendLogLoaded,
initFriendsList, initFriendsList,
updateLocalFavoriteFriends, updateLocalFavoriteFriends,
@@ -1678,6 +1681,7 @@ export const useFriendStore = defineStore('Friend', () => {
updateFriendships, updateFriendships,
updateUserCurrentStatus, updateUserCurrentStatus,
handleFriendAdd, handleFriendAdd,
handleFriendDelete handleFriendDelete,
initFriendLogHistoryTable
}; };
}); });
+4 -1
View File
@@ -903,7 +903,7 @@ export const useUserStore = defineStore('User', () => {
if (userId !== currentUser.value.id) { if (userId !== currentUser.value.id) {
database database
.getUserStats(D.ref, inCurrentWorld) .getUserStats(D.ref, inCurrentWorld)
.then((ref1) => { .then(async (ref1) => {
if (ref1.userId === D.id) { if (ref1.userId === D.id) {
D.lastSeen = ref1.lastSeen; D.lastSeen = ref1.lastSeen;
D.joinCount = ref1.joinCount; D.joinCount = ref1.joinCount;
@@ -911,6 +911,9 @@ export const useUserStore = defineStore('User', () => {
} }
const displayNameMap = const displayNameMap =
ref1.previousDisplayNames; ref1.previousDisplayNames;
if (!friendStore.isFriendLogLoaded) {
await friendStore.initFriendLogHistoryTable();
}
friendStore.friendLogTable.data.forEach( friendStore.friendLogTable.data.forEach(
(ref2) => { (ref2) => {
if (ref2.userId === D.id) { if (ref2.userId === D.id) {
+1 -1
View File
@@ -25,7 +25,7 @@
multiple multiple
:model-value="Array.isArray(friendsListSearchFilters) ? friendsListSearchFilters : []" :model-value="Array.isArray(friendsListSearchFilters) ? friendsListSearchFilters : []"
@update:modelValue="handleFriendListFilterChange"> @update:modelValue="handleFriendListFilterChange">
<SelectTrigger class="mx-2 w-[150px]"> <SelectTrigger class="mx-2 w-37.5">
<SelectValue :placeholder="t('view.friend_list.filter_placeholder')" /> <SelectValue :placeholder="t('view.friend_list.filter_placeholder')" />
</SelectTrigger> </SelectTrigger>
<SelectContent> <SelectContent>