diff options
| author | Akshay Nair <phenax5@gmail.com> | 2024-09-28 13:46:22 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2024-09-29 16:16:39 +0530 |
| commit | a1143f3696a0b272018f7eea43ee23a674c618e1 (patch) | |
| tree | 2289e6a1fbf47d339cb41849f9554d403bd837cc /src/hooks | |
| parent | 5d456899ea444301870e1d3c721d139c9251c531 (diff) | |
| download | daft-launcher-a1143f3696a0b272018f7eea43ee23a674c618e1.tar.gz daft-launcher-a1143f3696a0b272018f7eea43ee23a674c618e1.zip | |
Add context menu for apps (fav,settings,uninstall)
Diffstat (limited to 'src/hooks')
| -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, }; }; |
