aboutsummaryrefslogtreecommitdiff
path: root/src/hooks
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-09-28 13:46:22 +0530
committerAkshay Nair <phenax5@gmail.com>2024-09-29 16:16:39 +0530
commita1143f3696a0b272018f7eea43ee23a674c618e1 (patch)
tree2289e6a1fbf47d339cb41849f9554d403bd837cc /src/hooks
parent5d456899ea444301870e1d3c721d139c9251c531 (diff)
downloaddaft-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.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,
};
};