Include list names in search results for saved places
All checks were successful
CI / Lint (pull_request) Successful in 32s
CI / Test (pull_request) Successful in 55s
Release Drafter / Update release notes draft (pull_request) Successful in 16s

This commit is contained in:
2026-06-06 12:00:48 +04:00
parent f9cb22ee0e
commit f82a797720
2 changed files with 34 additions and 11 deletions

View File

@@ -51,6 +51,29 @@ export default class SearchBoxComponent extends Component {
this.searchTask.perform(value);
}
formatSavedPlace(place) {
const listNames = (place._listIds || [])
.map((id) => this.storage.lists?.find((l) => l.id === id)?.title)
.filter(Boolean)
.join(', ');
const description = listNames
? `Saved place (${listNames})`
: 'Saved place';
return {
source: 'saved',
id: place.id,
title: place.title,
icon: 'bookmark',
description,
osmId: place.osmId,
osmType: place.osmType,
lat: place.lat,
lon: place.lon,
};
}
searchTask = task({ restartable: true }, async (term) => {
await timeout(300);
@@ -82,17 +105,7 @@ export default class SearchBoxComponent extends Component {
if (q.length >= 3) {
savedMatches = this.storage.savedPlaces
.filter((p) => p.title && p.title.toLowerCase().includes(q))
.map((p) => ({
source: 'saved',
id: p.id,
title: p.title,
icon: 'bookmark',
description: 'Saved place',
osmId: p.osmId,
osmType: p.osmType,
lat: p.lat,
lon: p.lon,
}));
.map((p) => this.formatSavedPlace(p));
}
const results = await this.photon.search(query, lat, lon);