mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2025-11-25 10:54:57 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c62289019 | ||
|
|
7abeb85016 | ||
|
|
a6f6eb1d4f | ||
|
|
5a34b0f5f8 | ||
|
|
72c3a1a857 | ||
|
|
3732270de9 |
6
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
6
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@@ -59,13 +59,13 @@ body:
|
|||||||
label: Version
|
label: Version
|
||||||
description: What version of EE2 are you running? You can see this in Settings -> About
|
description: What version of EE2 are you running? You can see this in Settings -> About
|
||||||
options:
|
options:
|
||||||
|
- 0.12.2
|
||||||
- 0.12.1
|
- 0.12.1
|
||||||
- 0.12.0
|
- 0.12.0
|
||||||
- 0.11.x
|
- 0.11.x
|
||||||
- 0.10.x
|
- 0.10.x
|
||||||
- 0.9.x
|
- Change me
|
||||||
- 0.8.x
|
default: 5
|
||||||
- Other
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#  Exiled Exchange 2
|
#  Exiled Exchange 2
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
themeConfig: {
|
themeConfig: {
|
||||||
// logo: 'TODO', https://github.com/vuejs/vitepress/issues/1401
|
// logo: 'TODO', https://github.com/vuejs/vitepress/issues/1401
|
||||||
appVersion: '0.12.1',
|
appVersion: '0.12.2',
|
||||||
github: {
|
github: {
|
||||||
releasesUrl: 'https://github.com/Kvan7/Exiled-Exchange-2/releases'
|
releasesUrl: 'https://github.com/Kvan7/Exiled-Exchange-2/releases'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ files:
|
|||||||
extraMetadata:
|
extraMetadata:
|
||||||
main: "main.js"
|
main: "main.js"
|
||||||
nsis:
|
nsis:
|
||||||
oneClick: false
|
oneClick: true
|
||||||
allowToChangeInstallationDirectory: true
|
|
||||||
win:
|
win:
|
||||||
target:
|
target:
|
||||||
- "nsis"
|
- "nsis"
|
||||||
|
|||||||
4
main/package-lock.json
generated
4
main/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "exiled-exchange-2",
|
"name": "exiled-exchange-2",
|
||||||
"version": "0.12.1",
|
"version": "0.12.2",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "exiled-exchange-2",
|
"name": "exiled-exchange-2",
|
||||||
"version": "0.12.1",
|
"version": "0.12.2",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"electron-overlay-window": "3.3.1",
|
"electron-overlay-window": "3.3.1",
|
||||||
"uiohook-napi": "1.5.x"
|
"uiohook-napi": "1.5.x"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "exiled-exchange-2",
|
"name": "exiled-exchange-2",
|
||||||
"version": "0.12.1",
|
"version": "0.12.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node build/script.mjs",
|
"dev": "node build/script.mjs",
|
||||||
|
|||||||
@@ -321,7 +321,9 @@
|
|||||||
"getting_price_from": "來自 poe.ninja \u2026",
|
"getting_price_from": "來自 poe.ninja \u2026",
|
||||||
"you_have": "您有",
|
"you_have": "您有",
|
||||||
"stack": "堆疊",
|
"stack": "堆疊",
|
||||||
"fix_complex_query": "請在設定中禁用\"偽屬性\"選項,或通過內置瀏覽器登錄。"
|
"fix_complex_query": "請在設定中禁用\"偽屬性\"選項,或通過內置瀏覽器登錄。",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "設置 - 流亡交易所 2",
|
"title": "設置 - 流亡交易所 2",
|
||||||
|
|||||||
@@ -303,7 +303,9 @@
|
|||||||
"results_warn_tooltip": "Aktivieren Sie nur 'Exalted' im Online-Filter. Sie können diese Warnung in den Einstellungen deaktivieren.",
|
"results_warn_tooltip": "Aktivieren Sie nur 'Exalted' im Online-Filter. Sie können diese Warnung in den Einstellungen deaktivieren.",
|
||||||
"results_warn_title": "Preis wahrscheinlich zu hoch",
|
"results_warn_title": "Preis wahrscheinlich zu hoch",
|
||||||
"results_warn_message": "Handelsseite blendet Ergebnisse zwischen {0} und {1} Ex aus",
|
"results_warn_message": "Handelsseite blendet Ergebnisse zwischen {0} und {1} Ex aus",
|
||||||
"fix_complex_query": "Deaktiviere \"Pseudo-Mods verwenden\" in den Einstellungen oder melde dich mit dem integrierten Browser an"
|
"fix_complex_query": "Deaktiviere \"Pseudo-Mods verwenden\" in den Einstellungen oder melde dich mit dem integrierten Browser an",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Einstellungen - Exiled Exchange 2",
|
"title": "Einstellungen - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -330,7 +330,9 @@
|
|||||||
"results_warn_tooltip": "Enable Exalted Only in Online Filter. You can disable this alert in settings.",
|
"results_warn_tooltip": "Enable Exalted Only in Online Filter. You can disable this alert in settings.",
|
||||||
"results_warn_title": "Price likely too high",
|
"results_warn_title": "Price likely too high",
|
||||||
"results_warn_message": "Trade site hiding results between {0} and {1} ex",
|
"results_warn_message": "Trade site hiding results between {0} and {1} ex",
|
||||||
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser"
|
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Settings - Exiled Exchange 2",
|
"title": "Settings - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -330,7 +330,9 @@
|
|||||||
"results_warn_tooltip": "Habilitar solo Exaltados en el Filtro en línea. Puedes desactivar esta alerta en configuración.",
|
"results_warn_tooltip": "Habilitar solo Exaltados en el Filtro en línea. Puedes desactivar esta alerta en configuración.",
|
||||||
"results_warn_title": "Precio probablemente demasiado alto",
|
"results_warn_title": "Precio probablemente demasiado alto",
|
||||||
"results_warn_message": "El sitio de comercio oculta resultados entre {0} y {1} ex",
|
"results_warn_message": "El sitio de comercio oculta resultados entre {0} y {1} ex",
|
||||||
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser"
|
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Configuración - Exiled Exchange 2",
|
"title": "Configuración - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -321,7 +321,9 @@
|
|||||||
"getting_price_from": "poe.ninjaから\u2026",
|
"getting_price_from": "poe.ninjaから\u2026",
|
||||||
"you_have": "既に所持しています",
|
"you_have": "既に所持しています",
|
||||||
"stack": "スタック",
|
"stack": "スタック",
|
||||||
"fix_complex_query": "設定で\"Use pseudo mods\"を無効にするか、組み込みブラウザでログインしてください"
|
"fix_complex_query": "設定で\"Use pseudo mods\"を無効にするか、組み込みブラウザでログインしてください",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "設定 - Exiled Exchange 2",
|
"title": "設定 - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -318,7 +318,9 @@
|
|||||||
"getting_price_from": "from poe.ninja \u2026",
|
"getting_price_from": "from poe.ninja \u2026",
|
||||||
"you_have": "가진 갯수",
|
"you_have": "가진 갯수",
|
||||||
"stack": "스택",
|
"stack": "스택",
|
||||||
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser"
|
"fix_complex_query": "Disable \"Use pseudo mods\" in settings or log in with builtin browser",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "세팅 - Exiled Exchange 2",
|
"title": "세팅 - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -318,7 +318,9 @@
|
|||||||
"stack": "Pilha",
|
"stack": "Pilha",
|
||||||
"results_warn_tooltip": "Habilitar apenas Exaltados no Filtro online. Você pode desativar este alerta nas configurações.",
|
"results_warn_tooltip": "Habilitar apenas Exaltados no Filtro online. Você pode desativar este alerta nas configurações.",
|
||||||
"results_warn_title": "Preço provavelmente muito alto",
|
"results_warn_title": "Preço provavelmente muito alto",
|
||||||
"results_warn_message": "O site de comércio oculta resultados entre {0} e {1} ex"
|
"results_warn_message": "O site de comércio oculta resultados entre {0} e {1} ex",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Configurações - Exiled Exchange 2",
|
"title": "Configurações - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -336,7 +336,9 @@
|
|||||||
"getting_price_from": "с poe.ninja \u2026",
|
"getting_price_from": "с poe.ninja \u2026",
|
||||||
"you_have": "В наличии",
|
"you_have": "В наличии",
|
||||||
"stack": "Стак",
|
"stack": "Стак",
|
||||||
"fix_complex_query": "Отключите \"Use pseudo mods\" в настройках или залогиньтесь во встроенном браузере"
|
"fix_complex_query": "Отключите \"Use pseudo mods\" в настройках или залогиньтесь во встроенном браузере",
|
||||||
|
"likely_price_fixed": "Mostly non-standard currency: ",
|
||||||
|
"filter_exalt_divine": "Filter by Exalt/Divine"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Настройки - Exiled Exchange 2",
|
"title": "Настройки - Exiled Exchange 2",
|
||||||
|
|||||||
@@ -168,7 +168,8 @@ export function initUiModFilters(
|
|||||||
item.rarity === ItemRarity.Normal ? 100 : opts.searchStatRange,
|
item.rarity === ItemRarity.Normal ? 100 : opts.searchStatRange,
|
||||||
statsByType: item.statsByType.map((calc) => {
|
statsByType: item.statsByType.map((calc) => {
|
||||||
if (
|
if (
|
||||||
calc.type === ModifierType.Fractured &&
|
(calc.type === ModifierType.Fractured ||
|
||||||
|
calc.type === ModifierType.Desecrated) &&
|
||||||
calc.stat.trade.ids[ModifierType.Explicit]
|
calc.stat.trade.ids[ModifierType.Explicit]
|
||||||
) {
|
) {
|
||||||
return { ...calc, type: ModifierType.Explicit };
|
return { ...calc, type: ModifierType.Explicit };
|
||||||
@@ -188,10 +189,16 @@ export function initUiModFilters(
|
|||||||
|
|
||||||
if (itemIsModifiable(item)) {
|
if (itemIsModifiable(item)) {
|
||||||
ctx.statsByType = ctx.statsByType.filter(
|
ctx.statsByType = ctx.statsByType.filter(
|
||||||
(mod) => mod.type !== ModifierType.Fractured,
|
(mod) =>
|
||||||
|
mod.type !== ModifierType.Fractured &&
|
||||||
|
mod.type !== ModifierType.Desecrated,
|
||||||
);
|
);
|
||||||
ctx.statsByType.push(
|
ctx.statsByType.push(
|
||||||
...item.statsByType.filter((mod) => mod.type === ModifierType.Fractured),
|
...item.statsByType.filter(
|
||||||
|
(mod) =>
|
||||||
|
mod.type === ModifierType.Fractured ||
|
||||||
|
mod.type === ModifierType.Desecrated,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -562,12 +569,15 @@ export function finalFilterTweaks(ctx: FiltersCreationContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const filter of ctx.filters) {
|
for (const filter of ctx.filters) {
|
||||||
if (filter.tag === FilterTag.Fractured) {
|
if (
|
||||||
|
filter.tag === FilterTag.Fractured ||
|
||||||
|
filter.tag === FilterTag.Desecrated
|
||||||
|
) {
|
||||||
const mod = ctx.item.statsByType.find(
|
const mod = ctx.item.statsByType.find(
|
||||||
(mod) => mod.stat.ref === filter.statRef,
|
(mod) => mod.stat.ref === filter.statRef,
|
||||||
)!;
|
)!;
|
||||||
if (mod.stat.trade.ids[ModifierType.Explicit]) {
|
if (mod.stat.trade.ids[ModifierType.Explicit]) {
|
||||||
// hide only if fractured mod has corresponding explicit variant
|
// hide only if fractured or desecrated mod has corresponding explicit variant
|
||||||
filter.hidden = "filters.hide_for_crafting";
|
filter.hidden = "filters.hide_for_crafting";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,6 +79,11 @@
|
|||||||
class="rounded px-1 bg-yellow-500 text-black ml-1"
|
class="rounded px-1 bg-yellow-500 text-black ml-1"
|
||||||
>{{ t("in demand") }}</span
|
>{{ t("in demand") }}</span
|
||||||
>
|
>
|
||||||
|
<span
|
||||||
|
v-if="!showSeller && result.gone"
|
||||||
|
class="rounded border px-1 border-red-500 text-red-500 ml-1"
|
||||||
|
>{{ t("Gone") }}</span
|
||||||
|
>
|
||||||
</td>
|
</td>
|
||||||
<td v-if="showSeller" class="px-2 whitespace-nowrap">
|
<td v-if="showSeller" class="px-2 whitespace-nowrap">
|
||||||
<span
|
<span
|
||||||
@@ -94,6 +99,11 @@
|
|||||||
class="rounded px-1 bg-yellow-500 text-black ml-1"
|
class="rounded px-1 bg-yellow-500 text-black ml-1"
|
||||||
>{{ t("in demand") }}</span
|
>{{ t("in demand") }}</span
|
||||||
>
|
>
|
||||||
|
<span
|
||||||
|
v-if="!showSeller && result.gone"
|
||||||
|
class="rounded border-2 px-1 border-red-500 text-red-500 ml-1"
|
||||||
|
>{{ t("Gone") }}</span
|
||||||
|
>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -6,12 +6,7 @@
|
|||||||
<span v-if="!list" class="text-gray-600">...</span>
|
<span v-if="!list" class="text-gray-600">...</span>
|
||||||
<span v-else>{{ list.total }}{{ list.inexact ? "+" : "" }}</span>
|
<span v-else>{{ list.total }}{{ list.inexact ? "+" : "" }}</span>
|
||||||
</div>
|
</div>
|
||||||
<online-filter
|
<online-filter v-if="list" :by-time="true" :filters="filters" />
|
||||||
v-if="list"
|
|
||||||
:by-time="true"
|
|
||||||
:filters="filters"
|
|
||||||
:currency-ratio="true"
|
|
||||||
/>
|
|
||||||
<div class="flex-1"></div>
|
<div class="flex-1"></div>
|
||||||
<trade-links v-if="list" :get-link="makeTradeLink" />
|
<trade-links v-if="list" :get-link="makeTradeLink" />
|
||||||
</div>
|
</div>
|
||||||
@@ -82,6 +77,23 @@
|
|||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<div
|
||||||
|
v-if="isLikelyPriceFixed"
|
||||||
|
class="p-2 border-2 border-gray-600 rounded mt-2"
|
||||||
|
>
|
||||||
|
<div class="flex text-gray-400 leading-none">
|
||||||
|
<div class="mt-1">
|
||||||
|
{{ t(":likely_price_fixed") }}
|
||||||
|
</div>
|
||||||
|
<div class="flex-1" />
|
||||||
|
<div class="pl-2">
|
||||||
|
<button class="btn" @click="execFilterExaltDivine">
|
||||||
|
{{ t(":filter_exalt_divine") }}
|
||||||
|
<i class="fas fa-history text-xs" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ui-error-box v-else>
|
<ui-error-box v-else>
|
||||||
@@ -208,6 +220,9 @@ export default defineComponent({
|
|||||||
execSearch: () => {
|
execSearch: () => {
|
||||||
search(props.filters, props.stats, props.item);
|
search(props.filters, props.stats, props.item);
|
||||||
},
|
},
|
||||||
|
execFilterExaltDivine: () => {
|
||||||
|
props.filters.trade.currency = "exalted_divine";
|
||||||
|
},
|
||||||
error,
|
error,
|
||||||
errorFix: computed(() => {
|
errorFix: computed(() => {
|
||||||
console.log(error.value);
|
console.log(error.value);
|
||||||
@@ -225,6 +240,27 @@ export default defineComponent({
|
|||||||
// Shift key state and methods
|
// Shift key state and methods
|
||||||
isShiftPressed,
|
isShiftPressed,
|
||||||
ItemCategory,
|
ItemCategory,
|
||||||
|
isLikelyPriceFixed: computed(() => {
|
||||||
|
// if it isn't filling listings it probably is fine
|
||||||
|
if (groupedResults.value.length <= 15) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const commonCurrencyPrices = groupedResults.value.filter((res) => {
|
||||||
|
return (
|
||||||
|
// is a common currency
|
||||||
|
/chaos|exalted|divine/i.test(res.priceCurrency) ||
|
||||||
|
// is a common very low value currency (but not enhanced versions)
|
||||||
|
res.priceCurrency === "aug" ||
|
||||||
|
res.priceCurrency === "regal" ||
|
||||||
|
res.priceCurrency === "transmute"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
if (commonCurrencyPrices.length < 5) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ export function useTradeApi() {
|
|||||||
_searchResult.result.slice(0, 10),
|
_searchResult.result.slice(0, 10),
|
||||||
{ accountName: AppConfig().accountName },
|
{ accountName: AppConfig().accountName },
|
||||||
).then((results) => {
|
).then((results) => {
|
||||||
_fetchResults.push(...results.filter((res) => !res.gone));
|
_fetchResults.push(...results);
|
||||||
})
|
})
|
||||||
: Promise.resolve();
|
: Promise.resolve();
|
||||||
const r2 =
|
const r2 =
|
||||||
@@ -91,7 +91,7 @@ export function useTradeApi() {
|
|||||||
{ accountName: AppConfig().accountName },
|
{ accountName: AppConfig().accountName },
|
||||||
).then(async (results) => {
|
).then(async (results) => {
|
||||||
await r1.then(() => {
|
await r1.then(() => {
|
||||||
_fetchResults.push(...results.filter((res) => !res.gone));
|
_fetchResults.push(...results);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
: Promise.resolve();
|
: Promise.resolve();
|
||||||
@@ -116,7 +116,7 @@ export function useTradeApi() {
|
|||||||
_searchResult.result.slice(fetched, fetched + 10),
|
_searchResult.result.slice(fetched, fetched + 10),
|
||||||
{ accountName: AppConfig().accountName },
|
{ accountName: AppConfig().accountName },
|
||||||
).then((results) => {
|
).then((results) => {
|
||||||
_fetchResults.push(...results.filter((res) => !res.gone));
|
_fetchResults.push(...results);
|
||||||
});
|
});
|
||||||
fetched += 10;
|
fetched += 10;
|
||||||
await fetchMore();
|
await fetchMore();
|
||||||
|
|||||||
Reference in New Issue
Block a user