feat(home): apply advanced field-specific tile filtering in filterTiles()

This commit is contained in:
aspen 2025-09-22 05:19:07 +00:00
parent 80c971cc7b
commit 6220e935e3

View file

@ -4,7 +4,7 @@
import Defaults, { localStorageKeys, iconCdns } from '@/utils/defaults'; import Defaults, { localStorageKeys, iconCdns } from '@/utils/defaults';
import Keys from '@/utils/StoreMutations'; import Keys from '@/utils/StoreMutations';
import { searchTiles } from '@/utils/Search'; import { searchTiles, searchTilesWithFields } from '@/utils/Search';
import { checkItemVisibility } from '@/utils/CheckItemVisibility'; import { checkItemVisibility } from '@/utils/CheckItemVisibility';
const HomeMixin = { const HomeMixin = {
@ -99,10 +99,15 @@ const HomeMixin = {
}, },
/* Returns only the tiles that match the users search query */ /* Returns only the tiles that match the users search query */
filterTiles(allTiles) { filterTiles(allTiles) {
if (!allTiles) { if (!allTiles) return [];
return [];
}
const visibleTiles = allTiles.filter((tile) => checkItemVisibility(tile)); const visibleTiles = allTiles.filter((tile) => checkItemVisibility(tile));
const { appConfig } = this;
const adv = appConfig?.advancedSearch || {};
const enabled = !!adv.enabled;
const fields = adv.fields || {};
if (enabled) {
return searchTilesWithFields(visibleTiles, this.searchValue, fields);
}
return searchTiles(visibleTiles, this.searchValue); return searchTiles(visibleTiles, this.searchValue);
}, },
/* Checks if any sections or items use icons from a given CDN */ /* Checks if any sections or items use icons from a given CDN */