Add a market orders page #37

Open
opened 2026-07-20 12:37:23 +02:00 by Sirttas · 0 comments
Owner

Summary

Add a page that lists the authenticated user's open market orders across all their characters. mammon already exposes GET /market/orders (findAllMarketOrdersMarketOrderResponse[]), but gemory only consumes it minimally in market/order/order.ts (to derive listed sell type ids) — there is no route or page to actually view the orders.

Scope

  • Add a /market/orders route + page under the existing Market.vue layout, and a nav entry alongside the other market pages (types / scan / acquisitions / appraisal).
  • Fetch orders via the existing marketApi.findAllMarketOrders() client; render them in a table with the useful MarketOrderResponse fields: item (type icon + name), character, location/region, direction (buy/sell), price, volume remaining / total, min volume.
  • Sensible defaults: sortable columns, and a visual split (or filter) between buy and sell orders.
  • Resolve type names/icons and location names the way the other market tables already do (reuse existing components/helpers rather than new bespoke lookups).

Explicitly out of scope

  • Order freshness / auto-refresh indication — tracked separately in #21.
  • Any new backend endpoint or changes to MarketOrderResponse (page consumes the existing contract as-is).
  • Editing/cancelling orders (read-only view).

Acceptance criteria

  • A reachable /market/orders page lists the user's open orders across all characters.
  • Buy and sell orders are distinguishable; columns are sortable.
  • Item and location are shown resolved (name/icon), not raw ids.
  • Component test coverage for the page's rendering/sorting.

Related

  • Related to #21 (order freshness / up-to-date indication) — this page is a natural host for that follow-up.
## Summary Add a page that lists the authenticated user's open market orders across all their characters. mammon already exposes `GET /market/orders` (`findAllMarketOrders` → `MarketOrderResponse[]`), but gemory only consumes it minimally in `market/order/order.ts` (to derive listed sell type ids) — there is no route or page to actually view the orders. ## Scope - Add a `/market/orders` route + page under the existing `Market.vue` layout, and a nav entry alongside the other market pages (types / scan / acquisitions / appraisal). - Fetch orders via the existing `marketApi.findAllMarketOrders()` client; render them in a table with the useful `MarketOrderResponse` fields: item (type icon + name), character, location/region, direction (buy/sell), price, volume remaining / total, min volume. - Sensible defaults: sortable columns, and a visual split (or filter) between buy and sell orders. - Resolve type names/icons and location names the way the other market tables already do (reuse existing components/helpers rather than new bespoke lookups). ## Explicitly out of scope - Order freshness / auto-refresh indication — tracked separately in #21. - Any new backend endpoint or changes to `MarketOrderResponse` (page consumes the existing contract as-is). - Editing/cancelling orders (read-only view). ## Acceptance criteria - [ ] A reachable `/market/orders` page lists the user's open orders across all characters. - [ ] Buy and sell orders are distinguishable; columns are sortable. - [ ] Item and location are shown resolved (name/icon), not raw ids. - [ ] Component test coverage for the page's rendering/sorting. ## Related - Related to #21 (order freshness / up-to-date indication) — this page is a natural host for that follow-up.
Sirttas added the Kind/Feature
Priority
Medium
3
Status
To Refine
labels 2026-07-20 12:37:23 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eveal/gemory#37