diff --git a/renderer/src/web/price-check/CheckedItem.vue b/renderer/src/web/price-check/CheckedItem.vue index 4a6aba33..82cb968b 100644 --- a/renderer/src/web/price-check/CheckedItem.vue +++ b/renderer/src/web/price-check/CheckedItem.vue @@ -103,14 +103,20 @@ export default defineComponent({ // FiltersBlock.vue const filtersBlock = ref>(null!) - watch(() => props.item, (item) => { + watch(() => props.item, (item, prevItem) => { presets.value = createPresets(item, { league: selectedLeague.value!, chaosPriceThreshold: widget.value.chaosPriceThreshold, collapseListings: widget.value.collapseListings, activateStockFilter: widget.value.activateStockFilter, searchStatRange: widget.value.searchStatRange, - useEn: (AppConfig().language === 'cmn-Hant' && AppConfig().realm === 'pc-ggg') + useEn: (AppConfig().language === 'cmn-Hant' && AppConfig().realm === 'pc-ggg'), + currency: (prevItem && + item.info.namespace === prevItem.info.namespace && + item.info.refName === prevItem.info.refName && + presets.value.presets.length === 1) + ? presets.value.presets[0].filters.trade.currency + : undefined }) if ((!props.advancedCheck && !widget.value.smartInitialSearch) || diff --git a/renderer/src/web/price-check/filters/create-item-filters.ts b/renderer/src/web/price-check/filters/create-item-filters.ts index 53a1517d..16a7abcf 100644 --- a/renderer/src/web/price-check/filters/create-item-filters.ts +++ b/renderer/src/web/price-check/filters/create-item-filters.ts @@ -10,6 +10,7 @@ export const SPECIAL_SUPPORT_GEM = ['Empower Support', 'Enlighten Support', 'Enh interface CreateOptions { league: string chaosPriceThreshold: number + currency: string | undefined collapseListings: 'app' | 'api' activateStockFilter: boolean exact: boolean @@ -26,6 +27,7 @@ export function createFilters ( offline: false, onlineInLeague: PERMANENT_LEAGUES.includes(opts.league), listed: undefined, + currency: opts.currency, league: opts.league, chaosPriceThreshold: opts.chaosPriceThreshold, collapseListings: opts.collapseListings diff --git a/renderer/src/web/price-check/filters/create-presets.ts b/renderer/src/web/price-check/filters/create-presets.ts index a8569dfd..ccf1c9df 100644 --- a/renderer/src/web/price-check/filters/create-presets.ts +++ b/renderer/src/web/price-check/filters/create-presets.ts @@ -11,6 +11,7 @@ export function createPresets ( opts: { league: string chaosPriceThreshold: number + currency: string | undefined collapseListings: 'app' | 'api' activateStockFilter: boolean searchStatRange: number diff --git a/renderer/src/web/price-check/filters/interfaces.ts b/renderer/src/web/price-check/filters/interfaces.ts index ed201bb6..48f09c9a 100644 --- a/renderer/src/web/price-check/filters/interfaces.ts +++ b/renderer/src/web/price-check/filters/interfaces.ts @@ -68,6 +68,7 @@ export interface ItemFilters { offline: boolean onlineInLeague: boolean listed: string | undefined + currency: string | undefined league: string chaosPriceThreshold: number collapseListings: 'api' | 'app' diff --git a/renderer/src/web/price-check/trade/OnlineFilter.vue b/renderer/src/web/price-check/trade/OnlineFilter.vue index e202227b..e2065fc6 100644 --- a/renderer/src/web/price-check/trade/OnlineFilter.vue +++ b/renderer/src/web/price-check/trade/OnlineFilter.vue @@ -22,12 +22,17 @@
-
- + {{ t('In League') }}
{{ league.id }} +
@@ -73,7 +78,10 @@ export default defineComponent({ "3 Days Ago": "До 3-х дней", "1 Week Ago": "До 1-й недели", "2 Weeks Ago": "До 2-х недель", - "1 Month Ago": "До 1-го месяца" + "1 Month Ago": "До 1-го месяца", + "Any Currency": "Любая валюта", + "Chaos Orb": "Сфера хаоса", + "Divine Orb": "Божествен. сфера" } } diff --git a/renderer/src/web/price-check/trade/pathofexile-trade.ts b/renderer/src/web/price-check/trade/pathofexile-trade.ts index 9b2e3b12..32864f51 100644 --- a/renderer/src/web/price-check/trade/pathofexile-trade.ts +++ b/renderer/src/web/price-check/trade/pathofexile-trade.ts @@ -257,7 +257,11 @@ export function createTradeRequest (filters: ItemFilters, stats: StatFilter[], i } const { query } = body - if (filters.trade.chaosPriceThreshold !== 0) { + if (filters.trade.currency) { + propSet(query.filters, 'trade_filters.filters.price.option', filters.trade.currency) + } + + if (filters.trade.chaosPriceThreshold !== 0 && filters.trade.currency !== 'divine') { propSet(query.filters, 'trade_filters.filters.price.min', filters.trade.chaosPriceThreshold) }