Add an appraisal page (paste inventory → buy/sell valuation) #16

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

Summary

Add a dedicated Appraisal page: paste an EVE inventory block, get each stack's buy/sell valuation (per-unit + total) — the pricing counterpart to the existing Reprocess page.

Today appraisal exists only as plumbing (useAppraisalStore, src/market/appraisal/) consumed by other features; there's no user-facing page or route for "what is this pile of stuff worth".

Proposed design

  • New route under the existing /market parent (src/routes.ts), alongside types, scan, acquisitions — e.g. /market/appraisal, plus a routeNames.appraisal entry.
  • New page src/pages/market/Appraisal.vue, modelled on src/pages/Reprocess.vue:
    • a <textarea> for the pasted inventory listing;
    • a Send button;
    • a results table (type name, qty, buy/sell per unit, buy/sell total, order count).
  • Wire it to the new POST /market/prices/paste raw appraisal endpoint (mammon #37) so name/quantity parsing happens server-side — mirrors how src/reprocess/reprocess.ts calls the reprocess paste endpoint. Add an appraise(raw) helper in src/market/appraisal/.
  • Reuse IskLabel for ISK formatting and follow the existing table styling in ReprocessResultTable.vue.
  • Add a nav entry so the page is reachable (wherever Reprocess/Market tabs are listed).

Acceptance criteria

  • /market/appraisal route + page exist and are reachable from the nav.
  • Pasting an inventory block returns per-stack buy/sell (unit + total) and a grand total.
  • Uses the mammon paste appraisal endpoint (no client-side name resolution).
  • npm run build passes; styling consistent with the Reprocess page.

Depends on

mammon #37 (raw appraisal endpoint) + the client regen (gemory sibling issue). Unblocked once those land.

## Summary Add a dedicated **Appraisal** page: paste an EVE inventory block, get each stack's buy/sell valuation (per-unit + total) — the pricing counterpart to the existing Reprocess page. Today appraisal exists only as plumbing (`useAppraisalStore`, `src/market/appraisal/`) consumed by other features; there's no user-facing page or route for "what is this pile of stuff worth". ## Proposed design - New route under the existing `/market` parent (`src/routes.ts`), alongside `types`, `scan`, `acquisitions` — e.g. `/market/appraisal`, plus a `routeNames.appraisal` entry. - New page `src/pages/market/Appraisal.vue`, modelled on `src/pages/Reprocess.vue`: - a `<textarea>` for the pasted inventory listing; - a Send button; - a results table (type name, qty, buy/sell per unit, buy/sell total, order count). - Wire it to the new `POST /market/prices/paste` raw appraisal endpoint (mammon #37) so name/quantity parsing happens server-side — mirrors how `src/reprocess/reprocess.ts` calls the reprocess paste endpoint. Add an `appraise(raw)` helper in `src/market/appraisal/`. - Reuse `IskLabel` for ISK formatting and follow the existing table styling in `ReprocessResultTable.vue`. - Add a nav entry so the page is reachable (wherever Reprocess/Market tabs are listed). ## Acceptance criteria - [x] `/market/appraisal` route + page exist and are reachable from the nav. - [x] Pasting an inventory block returns per-stack buy/sell (unit + total) and a grand total. - [x] Uses the mammon paste appraisal endpoint (no client-side name resolution). - [x] `npm run build` passes; styling consistent with the Reprocess page. ## Depends on mammon #37 (raw appraisal endpoint) + the client regen (gemory sibling issue). Unblocked once those land.
Sirttas added the item-comparison label 2026-07-08 22:36:48 +02:00
Sirttas added a new dependency 2026-07-08 22:43:38 +02:00
Sirttas referenced this issue from a commit 2026-07-09 19:16:09 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Blocks Depends on
You do not have permission to read 1 dependency
Reference: eveal/gemory#16