mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-09-27 07:05:46 +00:00
feat: mirrored filter
This commit is contained in:
@@ -51,6 +51,8 @@
|
||||
<button v-if="filters.unidentified" class="trade-tag" :class="{ disabled: filters.unidentified.disabled }"
|
||||
@click="filters.unidentified.disabled = !filters.unidentified.disabled">{{ t('Unidentified') }}</button>
|
||||
<filter-veiled :item="item" :filters="filters" />
|
||||
<button v-if="filters.mirrored" class="trade-tag"
|
||||
@click="filters.mirrored.value = !filters.mirrored.value">{{ t(filters.mirrored.value ? 'Mirrored' : 'Not Mirrored') }}</button>
|
||||
<button v-if="stats.length" class="trade-tag" :class="{ disabled: totalSelectedMods === 0 }" @click="toggleStatsBlock">
|
||||
<span v-if="totalSelectedMods === 0">{{ t('Stats ignored') }}</span>
|
||||
<span v-else>{{ t('{0} of {1}, stats', [totalSelectedMods, stats.length]) }}</span>
|
||||
@@ -207,7 +209,9 @@ export default defineComponent({
|
||||
"Engineering (lvl {0})": "Инженерное дело ({0} ур.)",
|
||||
"Trap Disarmament (lvl {0})": "Разминирование ({0} ур.)",
|
||||
"Demolition (lvl {0})": "Взрывное дело ({0} ур.)",
|
||||
"Brute Force (lvl {0})": "Грубая сила ({0} ур.)"
|
||||
"Brute Force (lvl {0})": "Грубая сила ({0} ур.)",
|
||||
"Mirrored": "Отражено",
|
||||
"Not Mirrored": "Не отражено"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -170,6 +170,12 @@ export function createFilters (item: ParsedItem): ItemFilters {
|
||||
value: 'nonunique'
|
||||
}
|
||||
}
|
||||
|
||||
if (item.isMirrored) {
|
||||
filters.mirrored = {
|
||||
value: true
|
||||
}
|
||||
}
|
||||
|
||||
if (item.influences.length) {
|
||||
filters.influences = item.influences.map(influecne => ({
|
||||
|
||||
@@ -23,6 +23,9 @@ export interface ItemFilters {
|
||||
corrupted?: {
|
||||
value: boolean
|
||||
}
|
||||
mirrored?: {
|
||||
value: boolean
|
||||
}
|
||||
influences?: Array<{
|
||||
value: ItemInfluence
|
||||
disabled: boolean
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ItemInfluence, ItemCategory, ParsedItem } from '@/parser'
|
||||
import { ItemInfluence, ItemCategory, ParsedItem, ItemRarity } from '@/parser'
|
||||
import { ItemFilters, StatFilter, INTERNAL_TRADE_ID } from '../filters/interfaces'
|
||||
import prop from 'dot-prop'
|
||||
import { MainProcess } from '@/ipc/main-process-bindings'
|
||||
@@ -94,6 +94,7 @@ interface TradeRequest { /* eslint-disable camelcase */
|
||||
quality?: FilterRange
|
||||
gem_level?: FilterRange
|
||||
corrupted?: FilterBoolean
|
||||
mirrored?: FilterBoolean
|
||||
identified?: FilterBoolean
|
||||
shaper_item?: FilterBoolean
|
||||
crusader_item?: FilterBoolean
|
||||
@@ -256,6 +257,15 @@ export function createTradeRequest (filters: ItemFilters, stats: StatFilter[], i
|
||||
if (filters.corrupted) {
|
||||
prop.set(query.filters, 'misc_filters.filters.corrupted.option', String(filters.corrupted.value))
|
||||
}
|
||||
if (filters.mirrored) {
|
||||
prop.set(query.filters, 'misc_filters.filters.mirrored.option', String(filters.mirrored.value))
|
||||
} else if (
|
||||
item.rarity === ItemRarity.Normal ||
|
||||
item.rarity === ItemRarity.Magic ||
|
||||
item.rarity === ItemRarity.Rare
|
||||
) {
|
||||
prop.set(query.filters, 'misc_filters.filters.mirrored.option', String(false))
|
||||
}
|
||||
|
||||
if (filters.gemLevel && !filters.gemLevel.disabled) {
|
||||
prop.set(query.filters, 'misc_filters.filters.gem_level.min', filters.gemLevel.min)
|
||||
|
||||
Reference in New Issue
Block a user