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.
## 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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 inmarket/order/order.ts(to derive listed sell type ids) — there is no route or page to actually view the orders.Scope
/market/ordersroute + page under the existingMarket.vuelayout, and a nav entry alongside the other market pages (types / scan / acquisitions / appraisal).marketApi.findAllMarketOrders()client; render them in a table with the usefulMarketOrderResponsefields: item (type icon + name), character, location/region, direction (buy/sell), price, volume remaining / total, min volume.Explicitly out of scope
MarketOrderResponse(page consumes the existing contract as-is).Acceptance criteria
/market/orderspage lists the user's open orders across all characters.Related