Skip to content

Commit

Permalink
useObserveフックの変更を追加***
Browse files Browse the repository at this point in the history
このコミットでは、useObserveフックに以下の変更が追加されました:
- サーバータイムスタンプが現在のローカルタイムスタンプよりも大きい場合、現在のツリーのデータをロードする処理が追加されました。
- ツリーデータが更新された場合、現在のツリーのデータをリセットし、新しいデータをロードする処理が追加されました。
- データベースの同期が行われた場合、現在のツリーのデータをリセットし、新しいデータをロードする処理が追加されました。
  • Loading branch information
Jun-Murakami committed May 5, 2024
1 parent c65e07c commit 6e8f6b9
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/hooks/useObserve.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ export const useObserve = () => {
const serverTimestamp = snapshot.val();
const currentLocalTimestamp = useAppStateStore.getState().localTimestamp;
if (serverTimestamp && serverTimestamp > currentLocalTimestamp) {
const currentTree = useTreeStateStore.getState().currentTree;
setLocalTimestamp(serverTimestamp);
const newTreesList = await loadTreesListFromDb(uid);
setTreesList(newTreesList);
Expand All @@ -105,6 +106,11 @@ export const useObserve = () => {
if (data.timestamp > currentLocalTimestamp) {
await copyTreeDataToIdbFromDb(treeId);
treeUpdateCount++;
if (currentTree && treeId === currentTree) {
setPrevCurrentTree(null);
setPrevItems([]);
await loadCurrentTreeData(currentTree);
}
}
}
});
Expand All @@ -116,16 +122,15 @@ export const useObserve = () => {
const data = snapshot.val();
if (data !== serverTimestamp) {
await syncDb();
if (currentTree) {
setPrevCurrentTree(null);
setPrevItems([]);
await loadCurrentTreeData(currentTree);
}
}
}
});
}
const currentTree = useTreeStateStore.getState().currentTree;
if (currentTree) {
setPrevCurrentTree(null);
setPrevItems([]);
await loadCurrentTreeData(currentTree);
}

}
setIsLoading(false);
Expand Down

0 comments on commit 6e8f6b9

Please sign in to comment.