From 1da517746a89a3bf67802efc05de3ed163da61c0 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 12 Nov 2024 21:10:49 -0600 Subject: [PATCH] fix: hide recetns on sort --- .../TankSearch/components/RecentlyViewed.tsx | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/website/src/components/TankSearch/components/RecentlyViewed.tsx b/packages/website/src/components/TankSearch/components/RecentlyViewed.tsx index d9984e3e7..2e68342d0 100644 --- a/packages/website/src/components/TankSearch/components/RecentlyViewed.tsx +++ b/packages/website/src/components/TankSearch/components/RecentlyViewed.tsx @@ -2,8 +2,10 @@ import { fetchTankDefinitions } from '@blitzkit/core'; import { useStore } from '@nanostores/react'; import { Flex, Separator, Text } from '@radix-ui/themes'; import { isEqual } from 'lodash-es'; +import { useMemo } from 'react'; import { $tankFilters, initialTankFilters } from '../../../stores/tankFilters'; import { TankopediaPersistent } from '../../../stores/tankopediaPersistent'; +import { $tankopediaSort } from '../../../stores/tankopediaSort'; import { TankCard } from './TankCard'; import { TankCardWrapper } from './TankCardWrapper'; @@ -14,16 +16,19 @@ export function RecentlyViewed() { const filters = useStore($tankFilters); // non-reactive because it is a little weird that it updates instantly even before the page loads const recentlyViewed = tankopediaPersistentStore.getState().recentlyViewed; + const sort = useStore($tankopediaSort); + const hasFilters = useMemo( + () => + Object.entries(filters).some(([key, value]) => { + return !isEqual( + value, + initialTankFilters[key as keyof typeof initialTankFilters], + ); + }), + [filters], + ); - if ( - recentlyViewed.length === 0 || - Object.entries(filters).some(([key, value]) => { - return !isEqual( - value, - initialTankFilters[key as keyof typeof initialTankFilters], - ); - }) - ) { + if (recentlyViewed.length === 0 || sort.by !== 'meta.none' || hasFilters) { return null; }