diff --git a/frontend/apps/hub/src/domains/project/components/actors/actors-provider.tsx b/frontend/apps/hub/src/domains/project/components/actors/actors-provider.tsx index fb25e1366d..f0f5c7d303 100644 --- a/frontend/apps/hub/src/domains/project/components/actors/actors-provider.tsx +++ b/frontend/apps/hub/src/domains/project/components/actors/actors-provider.tsx @@ -91,7 +91,9 @@ export function ActorsProvider({ // biome-ignore lint/correctness/useExhaustiveDependencies: store is not a dependency useEffect(() => { if (internalFilter) { - store.set(actorsInternalFilterAtom, internalFilter); + store.set(actorsInternalFilterAtom, { fn: internalFilter }); + } else { + store.set(actorsInternalFilterAtom, undefined); } }, [internalFilter]); diff --git a/frontend/packages/components/src/actors/actor-context.tsx b/frontend/packages/components/src/actors/actor-context.tsx index 6e1c704f5f..c624ac952a 100644 --- a/frontend/packages/components/src/actors/actor-context.tsx +++ b/frontend/packages/components/src/actors/actor-context.tsx @@ -112,7 +112,9 @@ export const actorRegionsAtom = atom([ export const actorBuildsAtom = atom([]); -export const actorsInternalFilterAtom = atom<(actor: Actor) => boolean>(); +export const actorsInternalFilterAtom = atom<{ + fn: (actor: Actor) => boolean; +}>(); // derived atoms @@ -129,7 +131,7 @@ export const filteredActorsAtom = atom((get) => { const filters = get(actorFiltersAtom); const actors = get(actorsAtom); - const isActorInternal = get(actorsInternalFilterAtom); + const isActorInternal = get(actorsInternalFilterAtom)?.fn; return actors.filter((actor) => { const satisfiesFilters = Object.entries(filters).every(