fix: query ignorance on filter change

This commit is contained in:
TrèsAbhi committed 2024-04-10 16:13:39 -05:00
1 parent ea07d2646d
commit 55ba2525d1
1 file changed
+10 -14
@@ -400,7 +400,15 @@ export function TankSearch({
.filter(([name]) => name !== 'page') .filter(([name]) => name !== 'page')
.map(([, value]) => value), .map(([, value]) => value),
]); ]);
const [searchResults, setSearchedList] = useState(searchableTanks); const [searchQuery, setSearchQuery] = useState('');
const searchResults = useMemo(
() =>
go(searchQuery, searchableTanks, {
keys: ['name', 'nameFull', 'id'] satisfies (keyof TankDefinition)[],
all: true,
}).map(({ obj }) => obj),
[searchQuery, searchableTanks],
);
const page = useTankopediaPersistent((state) => state.filters.page); const page = useTankopediaPersistent((state) => state.filters.page);
const searchResultsPageSlice = searchResults.slice( const searchResultsPageSlice = searchResults.slice(
page * tanksPerPage, page * tanksPerPage,
@@ -414,9 +422,6 @@ export function TankSearch({
Math.ceil(searchResultsPageSlice.length / 2), Math.ceil(searchResultsPageSlice.length / 2),
); );
useEffect(() => {
setSearchedList(searchableTanks);
}, [searchableTanks]);
useEffect(() => { useEffect(() => {
mutateTankopediaPersistent((draft) => { mutateTankopediaPersistent((draft) => {
draft.filters.page = Math.min( draft.filters.page = Math.min(
@@ -435,16 +440,7 @@ export function TankSearch({
ref={input} ref={input}
placeholder="Search tanks..." placeholder="Search tanks..."
onChange={(event) => { onChange={(event) => {
const results = go(event.target.value, searchableTanks, { setSearchQuery(event.target.value);
keys: [
'name',
'nameFull',
'id',
] satisfies (keyof TankDefinition)[],
all: true,
}).map(({ obj }) => obj);
setSearchedList(results);
}} }}
onKeyDown={(event) => { onKeyDown={(event) => {
if (event.key === 'Enter') { if (event.key === 'Enter') {