aboutsummaryrefslogtreecommitdiff
path: root/src/hooks/useFavorites.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks/useFavorites.ts')
-rw-r--r--src/hooks/useFavorites.ts7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/hooks/useFavorites.ts b/src/hooks/useFavorites.ts
index fa96211..625ac08 100644
--- a/src/hooks/useFavorites.ts
+++ b/src/hooks/useFavorites.ts
@@ -10,7 +10,10 @@ const favoriteAppNamesAtom = atomWithStorage<string[]>(
jsonStorage,
);
-const serialize = (packageNames: string[]) => packageNames.join(',');
+const isSameArray = (a: string[], b: string[]): boolean => {
+ if (a.length !== b.length) return false;
+ return a.every((item, index) => item === b[index]);
+};
export const useFavorites = () => {
const [favoriteAppNames, setFavoriteAppNames] = useAtom(favoriteAppNamesAtom);
@@ -20,7 +23,7 @@ export const useFavorites = () => {
updater: (packageNames: string[]) => Promise<string[]> | string[],
) => {
const newNames = [...new Set(await updater(favoriteAppNames))];
- if (serialize(newNames) === serialize(favoriteAppNames)) return newNames;
+ if (isSameArray(newNames, favoriteAppNames)) return newNames;
setFavoriteAppNames(newNames);
return newNames;