Location search/picker for the appraisal compare page #19

Closed
opened 2026-07-08 22:55:44 +02:00 by Sirttas · 0 comments
Owner

Summary

Replace the hardcoded trade-hub list on the compare-by-location page (gemory #17) with a location search/picker backed by mammon's GET /universe/locations/search (mammon SDE location-search issue, later extended with ESI structures).

Proposed design

  • A search-as-you-type location input (mirror the existing MarketTypeInput / searchTypes pattern in src/market/type/), calling the new /universe/locations/search op after regen.
  • Let the user pick N locations to compare; show name + system/region for disambiguation.
  • Feed the picked marketLocationIds into #17's per-location appraisal calls.
  • Keep a few default hubs (Jita, Amarr, …) as quick-add chips, but sourced by id from the search rather than a frontend constant — resolves the region-id vs station-id mismatch noted in #17.
  • When ESI structures land (mammon side), surface the access flag (public / needs character access) so private structures the user can't price are handled gracefully.

Acceptance criteria

  • A location search input returns matches from /universe/locations/search.
  • User can select multiple locations; selections drive the compare page's appraisal calls by marketLocationId.
  • Default hubs are id-correct (from search, not a hardcoded region id).
  • npm run build passes.

Depends on

mammon location-search endpoint + the client regen (gemory #15) + the compare page (gemory #17).

## Summary Replace the hardcoded trade-hub list on the compare-by-location page (gemory #17) with a **location search/picker** backed by mammon's `GET /universe/locations/search` (mammon SDE location-search issue, later extended with ESI structures). ## Proposed design - A search-as-you-type location input (mirror the existing `MarketTypeInput` / `searchTypes` pattern in `src/market/type/`), calling the new `/universe/locations/search` op after regen. - Let the user pick **N locations** to compare; show name + system/region for disambiguation. - Feed the picked `marketLocationId`s into #17's per-location appraisal calls. - Keep a few default hubs (Jita, Amarr, …) as quick-add chips, but sourced by id from the search rather than a frontend constant — resolves the region-id vs station-id mismatch noted in #17. - When ESI structures land (mammon side), surface the access flag (public / needs character access) so private structures the user can't price are handled gracefully. ## Acceptance criteria - [x] A location search input returns matches from `/universe/locations/search`. - [x] User can select multiple locations; selections drive the compare page's appraisal calls by `marketLocationId`. - [x] Default hubs are id-correct (from search, not a hardcoded region id). - [x] `npm run build` passes. ## Depends on mammon location-search endpoint + the client regen (gemory #15) + the compare page (gemory #17).
Sirttas added the item-comparison label 2026-07-08 22:55:50 +02:00
Sirttas referenced this issue from a commit 2026-07-09 19:16:10 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eveal/gemory#19