guard for over-resetting list of userMovies, hence, fix the problem of looping between fetch and reset

This commit is contained in:
wil authored and Michael Chung committed 2024-06-12 14:15:38 -04:00
1 parent a0d6616e52
commit 1a08fea557
1 file changed
+9 -1
+9 -1
View File
@@ -7,7 +7,15 @@ import { AudioMediaItem } from "~/pages/PageEnigma/models";
export const userMovies = signal<MediaInfo[] | undefined>(undefined);
export const setUserMovies = (newSet: MediaInfo[]) => {
userMovies.value = newSet;
const userMoviesTokens = (userMovies.value || []).map((movie) => movie.token);
const newSetTokens = newSet.map((newSetMovie) => newSetMovie.token);
const isSameTokens =
userMoviesTokens.length === newSetTokens.length &&
newSetTokens.every((token) => userMoviesTokens.includes(token));
if (!isSameTokens) {
userMovies.value = newSet;
}
//else do nothing cos it's the same list;
};
//Signal for background loading User's Audio Items.