Refactor app menu, add place lists

Unify sidebar, make everything route-based
This commit is contained in:
2026-06-30 12:05:08 +02:00
parent c11882adfb
commit ad9c489102
22 changed files with 445 additions and 79 deletions

View File

@@ -6,5 +6,6 @@ export default class IndexRoute extends Route {
activate() {
this.mapUi.clearSearchResults();
this.mapUi.hideSidebar();
}
}

10
app/routes/lists.js Normal file
View File

@@ -0,0 +1,10 @@
import Route from '@ember/routing/route';
import { service } from '@ember/service';
export default class ListsRoute extends Route {
@service mapUi;
activate() {
this.mapUi.showSidebar();
}
}

View File

@@ -0,0 +1,3 @@
import Route from '@ember/routing/route';
export default class ListsIndexRoute extends Route {}

17
app/routes/lists/list.js Normal file
View File

@@ -0,0 +1,17 @@
import Route from '@ember/routing/route';
import { service } from '@ember/service';
export default class ListsListRoute extends Route {
@service storage;
async model(params) {
const listId = params.list_id;
try {
const places = await this.storage.getPlacesInList(listId);
return { listId, places };
} catch (e) {
console.error('Failed to load places in list', listId, e);
return { listId, places: [] };
}
}
}

10
app/routes/menu.js Normal file
View File

@@ -0,0 +1,10 @@
import Route from '@ember/routing/route';
import { service } from '@ember/service';
export default class MenuRoute extends Route {
@service mapUi;
activate() {
this.mapUi.showSidebar();
}
}

View File

@@ -108,6 +108,7 @@ export default class PlaceRoute extends Route {
this.mapUi.clearSelection();
// Reset the "return to search" flag so it doesn't persist to subsequent navigations
this.mapUi.returnToSearch = false;
this.mapUi.returnToRoute = null;
}
async loadOsmPlace(id, type = null) {