mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 11:39:50 +02:00
feat: hide recent tanks when filters
This commit is contained in:
1 parent
a40f86f982
commit
19664d55aa
1 file changed
+15
-1
@@ -1,5 +1,8 @@
|
|||||||
import { fetchTankDefinitions } from '@blitzkit/core';
|
import { fetchTankDefinitions } from '@blitzkit/core';
|
||||||
|
import { useStore } from '@nanostores/react';
|
||||||
import { Flex, Separator, Text } from '@radix-ui/themes';
|
import { Flex, Separator, Text } from '@radix-ui/themes';
|
||||||
|
import { isEqual } from 'lodash-es';
|
||||||
|
import { $tankFilters, initialTankFilters } from '../../../stores/tankFilters';
|
||||||
import { TankopediaPersistent } from '../../../stores/tankopediaPersistent';
|
import { TankopediaPersistent } from '../../../stores/tankopediaPersistent';
|
||||||
import { TankCard } from './TankCard';
|
import { TankCard } from './TankCard';
|
||||||
import { TankCardWrapper } from './TankCardWrapper';
|
import { TankCardWrapper } from './TankCardWrapper';
|
||||||
@@ -8,10 +11,21 @@ const tankDefinitions = await fetchTankDefinitions();
|
|||||||
|
|
||||||
export function RecentlyViewed() {
|
export function RecentlyViewed() {
|
||||||
const tankopediaPersistentStore = TankopediaPersistent.useStore();
|
const tankopediaPersistentStore = TankopediaPersistent.useStore();
|
||||||
|
const filters = useStore($tankFilters);
|
||||||
// non-reactive because it is a little weird that it updates instantly even before the page loads
|
// non-reactive because it is a little weird that it updates instantly even before the page loads
|
||||||
const recentlyViewed = tankopediaPersistentStore.getState().recentlyViewed;
|
const recentlyViewed = tankopediaPersistentStore.getState().recentlyViewed;
|
||||||
|
|
||||||
if (recentlyViewed.length === 0) return null;
|
if (
|
||||||
|
recentlyViewed.length === 0 ||
|
||||||
|
Object.entries(filters).some(([key, value]) => {
|
||||||
|
return !isEqual(
|
||||||
|
value,
|
||||||
|
initialTankFilters[key as keyof typeof initialTankFilters],
|
||||||
|
);
|
||||||
|
})
|
||||||
|
) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex direction="column" gap="2" mt="2" mb="6">
|
<Flex direction="column" gap="2" mt="2" mb="6">
|
||||||
|
|||||||
Reference in new issue
Block a user