diff --git a/src/web/price-check/trade/TradeListing.vue b/src/web/price-check/trade/TradeListing.vue
index 729102f0..6e66bb9b 100644
--- a/src/web/price-check/trade/TradeListing.vue
+++ b/src/web/price-check/trade/TradeListing.vue
@@ -75,7 +75,7 @@
*** |
- | {{ result.priceAmount }} {{ result.priceCurrency }} × {{ result.listedTimes }} |
+ {{ result.priceAmount }} {{ result.priceCurrency }} |
{{ result.stackSize }} |
{{ result.itemLevel }} |
{{ result.level }} |
@@ -124,9 +124,6 @@ import { artificialSlowdown } from './artificial-slowdown'
const slowdown = artificialSlowdown(900)
const SHOW_RESULTS = 20
-const API_FETCH_LIMIT = 100
-const MIN_NOT_GROUPED = 7
-const MIN_GROUPED = 10
function useTradeApi () {
let searchId = 0
@@ -134,46 +131,8 @@ function useTradeApi () {
const searchResult = shallowRef(null)
const fetchResults = shallowRef([])
- const groupedResults = computed(() => {
- const out: Array = []
-
- for (const result of fetchResults.value) {
- if (result == null) break
-
- if (out.length === 0) {
- out.push({ listedTimes: 1, ...result })
- continue
- }
-
- const existingRes = out.find((added, idx) =>
- (
- added.accountName === result.accountName &&
- added.priceCurrency === result.priceCurrency &&
- added.priceAmount === result.priceAmount
- ) ||
- (
- added.accountName === result.accountName &&
- (out.length - idx) <= 2 // last or prev
- )
- )
- if (existingRes) {
- if (existingRes.stackSize) {
- existingRes.stackSize += result.stackSize!
- } else {
- existingRes.listedTimes += 1
- }
- } else {
- out.push({ listedTimes: 1, ...result })
- }
- }
-
- return out
- })
-
async function search (filters: ItemFilters, stats: StatFilter[], item: ParsedItem) {
try {
- // NOTE: rate limiting https://www.pathofexile.com/forum/view-thread/2079853#p15244273
-
searchId += 1
error.value = null
searchResult.value = null
@@ -188,7 +147,6 @@ function useTradeApi () {
}
searchResult.value = _searchResult
- // first two req are parallel, then sequential on demand
{
const r1 = (_searchResult.total > 0)
? requestResults(_searchResult.id, _searchResult.result.slice(0, 10))
@@ -201,34 +159,12 @@ function useTradeApi () {
: Promise.resolve()
await Promise.all([r1, r2])
}
-
- let fetched = 20
- async function fetchMore (): Promise {
- if (_searchId !== searchId) return
-
- const totalGrouped = groupedResults.value.length
- const totalNotGrouped = groupedResults.value.reduce((len, res) =>
- res.listedTimes <= 2 ? len + 1 : len, 0)
-
- if (
- (totalNotGrouped < MIN_NOT_GROUPED || totalGrouped < MIN_GROUPED) &&
- fetched < _searchResult.total &&
- fetched < API_FETCH_LIMIT
- ) {
- await requestResults(_searchResult.id, _searchResult.result.slice(fetched, fetched + 10))
- .then(results => { _fetchResults.push(...results) })
-
- fetched += 10
- return fetchMore()
- }
- }
- return fetchMore()
} catch (err) {
error.value = err.message
}
}
- return { error, searchResult, fetchResults, groupedResults, search }
+ return { error, searchResult, groupedResults: fetchResults, search }
}
export default defineComponent({
diff --git a/src/web/price-check/trade/pathofexile-trade.ts b/src/web/price-check/trade/pathofexile-trade.ts
index f1e7894c..aad8613f 100644
--- a/src/web/price-check/trade/pathofexile-trade.ts
+++ b/src/web/price-check/trade/pathofexile-trade.ts
@@ -168,7 +168,7 @@ interface TradeRequest { /* eslint-disable camelcase */
}
trade_filters: {
filters: {
- sale_type: { option: 'priced' }
+ collapse?: FilterBoolean
indexed?: { option?: string }
price?: FilterRange | { option?: string }
}
@@ -230,7 +230,7 @@ export function createTradeRequest (filters: ItemFilters, stats: StatFilter[], i
filters: {
trade_filters: {
filters: {
- sale_type: { option: 'priced' }
+ collapse: { option: 'true' }
}
}
}