diff options
Diffstat (limited to '')
| -rw-r--r-- | src/hooks/useFavorites.ts | 14 |
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, }; }; |
