aboutsummaryrefslogtreecommitdiff
path: root/src/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks')
-rw-r--r--src/hooks/useFavorites.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/hooks/useFavorites.ts b/src/hooks/useFavorites.ts
index 619817c..46b6e77 100644
--- a/src/hooks/useFavorites.ts
+++ b/src/hooks/useFavorites.ts
@@ -24,24 +24,34 @@ export const useFavorites = () => {
const setFavorites = useStableCallback(async (names: string[]) => {
const newNames = [...new Set(names)];
- setFavoriteAppNames(newNames);
await favoritesStorage.setItem(JSON.stringify(newNames));
+ refreshFavorites();
});
const addToFavorites = useStableCallback(async (packageName: string) => {
const names = await getFavoriteAppNames();
setFavorites([...names, packageName]);
});
+ const removeFromFavorites = useStableCallback(async (packageName: string) => {
+ const names = await getFavoriteAppNames();
+ setFavorites(names.filter((name) => name !== packageName));
+ });
+
+ const isFavorite = useStableCallback((packageName: string) =>
+ favoriteAppNames.includes(packageName),
+ );
useEffect(() => {
refreshFavorites();
}, [refreshFavorites]);
return {
+ addToFavorites,
favoriteAppNames,
getFavoriteAppNames,
- addToFavorites,
+ isFavorite,
refreshFavorites,
+ removeFromFavorites,
setFavorites,
};
};