fix: favorites change event for sidebar refresh

This commit is contained in:
Julien Froidefond
2025-02-13 22:43:34 +01:00
parent f7892f5b3f
commit e3ad1690c5
2 changed files with 23 additions and 5 deletions

View File

@@ -70,16 +70,25 @@ export function Sidebar({ isOpen }: SidebarProps) {
fetchFavorites();
}, []); // Suppression de la dépendance pathname
// Mettre à jour les favoris quand ils changent dans le localStorage
// Mettre à jour les favoris quand ils changent
useEffect(() => {
const handleStorageChange = (e: StorageEvent) => {
const handleFavoritesChange = () => {
fetchFavorites();
};
// Écouter les changements de favoris dans la même fenêtre
window.addEventListener("favoritesChanged", handleFavoritesChange);
// Écouter les changements de favoris dans d'autres fenêtres
window.addEventListener("storage", (e) => {
if (e.key === "stripstream_favorites") {
fetchFavorites();
}
};
});
window.addEventListener("storage", handleStorageChange);
return () => window.removeEventListener("storage", handleStorageChange);
return () => {
window.removeEventListener("favoritesChanged", handleFavoritesChange);
window.removeEventListener("storage", handleFavoritesChange);
};
}, [fetchFavorites]);
const handleRefresh = async () => {