diff --git a/src/stores/feed.js b/src/stores/feed.js index 15b0bcc1..88960765 100644 --- a/src/stores/feed.js +++ b/src/stores/feed.js @@ -1,4 +1,4 @@ -import { ref, watch } from 'vue'; +import { ref, shallowReactive, watch } from 'vue'; import { defineStore } from 'pinia'; import { database } from '../service/database'; @@ -19,7 +19,7 @@ export const useFeedStore = defineStore('Feed', () => { const sharedFeedStore = useSharedFeedStore(); const feedTable = ref({ - data: [], + data: shallowReactive([]), search: '', vip: false, loading: false, @@ -46,7 +46,7 @@ export const useFeedStore = defineStore('Feed', () => { watch( () => watchState.isLoggedIn, (isLoggedIn) => { - feedTable.value.data = []; + feedTable.value.data.length = 0; feedSessionTable.value = []; if (isLoggedIn) { initFeedTable(); @@ -162,11 +162,12 @@ export const useFeedStore = defineStore('Feed', () => { if (feedTable.value.vip) { vipList = Array.from(friendStore.localFavoriteFriends.values()); } - feedTable.value.data = await database.lookupFeedDatabase( + const rows = await database.lookupFeedDatabase( feedTable.value.search, feedTable.value.filter, vipList ); + feedTable.value.data = shallowReactive(rows); feedTable.value.loading = false; } diff --git a/src/stores/gameLog.js b/src/stores/gameLog.js index 3e2eaa79..09e49bab 100644 --- a/src/stores/gameLog.js +++ b/src/stores/gameLog.js @@ -1,4 +1,4 @@ -import { reactive, ref, watch } from 'vue'; +import { reactive, ref, shallowReactive, watch } from 'vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import { defineStore } from 'pinia'; @@ -59,7 +59,7 @@ export const useGameLogStore = defineStore('GameLog', () => { }); const gameLogTable = ref({ - data: [], + data: shallowReactive([]), loading: false, search: '', filter: [], @@ -103,7 +103,7 @@ export const useGameLogStore = defineStore('GameLog', () => { watch( () => watchState.isLoggedIn, (isLoggedIn) => { - gameLogTable.value.data = []; + gameLogTable.value.data.length = 0; gameLogSessionTable.value = []; if (isLoggedIn) { initGameLogTable(); @@ -349,11 +349,12 @@ export const useGameLogStore = defineStore('GameLog', () => { if (gameLogTable.value.vip) { vipList = Array.from(friendStore.localFavoriteFriends.values()); } - gameLogTable.value.data = await database.lookupGameLogDatabase( + const rows = await database.lookupGameLogDatabase( gameLogTable.value.search, gameLogTable.value.filter, vipList ); + gameLogTable.value.data = shallowReactive(rows); gameLogTable.value.loading = false; } @@ -1434,10 +1435,11 @@ export const useGameLogStore = defineStore('GameLog', () => { } async function initGameLogTable() { - gameLogTable.value.data = await database.lookupGameLogDatabase( + const rows = await database.lookupGameLogDatabase( gameLogTable.value.search, gameLogTable.value.filter ); + gameLogTable.value.data = shallowReactive(rows); } return {