Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions renderer/public/data/en/app_i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,7 @@
"show_suggest_warning_warn": "Show alert",
"show_suggest_warning_help": "Show alert and help",
"default_all_selected": "Default all filters to enabled",
"default_base_item_on_magic": "Default to \"Base item\" filter for magic items",
"use_tooltip_hover": "Show item when hovering over price",
"use_tooltip_keybind": "SHIFT + hover",
"use_tooltip_always": "hover",
Expand Down
10 changes: 9 additions & 1 deletion renderer/specs/vitest.setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,15 @@ export const setupFetchMock = () => {
bodyUsed: false,
json: async () => JSON.parse(body as string),
text: async () => body,
arrayBuffer: async () => Buffer.from(body as string).buffer,
arrayBuffer: async () => {
const buffer = Buffer.isBuffer(body)
? body
: Buffer.from(body as string);
return buffer.buffer.slice(
buffer.byteOffset,
buffer.byteOffset + buffer.byteLength,
);
},
blob: async () => new Blob([body as string]),
formData: async () => {
throw new Error("formData not implemented");
Expand Down
12 changes: 11 additions & 1 deletion renderer/src/web/Config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ export interface Config {
}

export const defaultConfig = (): Config => ({
configVersion: 34,
configVersion: 35,
overlayKey: "Shift + Space",
overlayBackground: "rgba(129, 139, 149, 0.15)",
overlayBackgroundClose: true,
Expand Down Expand Up @@ -669,6 +669,16 @@ function upgradeConfig(_config: Config): Config {

config.configVersion = 34;
}

if (config.configVersion < 35) {
// NOTE: v0.15.9 || poe0.5.4b
const priceCheck = config.widgets.find(
(w) => w.wmType === "price-check",
) as widget.PriceCheckWidget;
priceCheck.defaultBaseItemOnMagic = false;

config.configVersion = 35;
}
/* eslint-enable */

return config as unknown as Config;
Expand Down
1 change: 1 addition & 0 deletions renderer/src/web/overlay/widgets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ export interface PriceCheckWidget extends Widget {
builtinBrowser: boolean;
rememberCurrency: boolean;
defaultAllSelected: boolean;
defaultBaseItemOnMagic: boolean;
itemHoverTooltip: "off" | "keybind" | "always";
autoFillEmptyRuneSockets: "Iron Rune" | false;
alwaysShowTier: boolean;
Expand Down
1 change: 1 addition & 0 deletions renderer/src/web/price-check/CheckedItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ export default defineComponent({
? prevListingType
: undefined,
defaultAllSelected: widget.value.defaultAllSelected,
defaultBaseItemOnMagic: widget.value.defaultBaseItemOnMagic,
autoFillEmptyAugmentSockets: widget.value.autoFillEmptyRuneSockets,
});

Expand Down
1 change: 1 addition & 0 deletions renderer/src/web/price-check/PriceCheckWindow.vue
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ export default defineComponent({
rememberCurrency: false,
// New Settings EE2
defaultAllSelected: false,
defaultBaseItemOnMagic: false,
itemHoverTooltip: "keybind",
autoFillEmptyRuneSockets: false,
alwaysShowTier: false,
Expand Down
15 changes: 13 additions & 2 deletions renderer/src/web/price-check/filters/create-presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export function createPresets(
searchStatRange: number;
useEn: boolean;
defaultAllSelected: boolean;
defaultBaseItemOnMagic: boolean;
autoFillEmptyAugmentSockets: PriceCheckWidget["autoFillEmptyRuneSockets"];
},
): { presets: FilterPreset[]; active: string } {
Expand Down Expand Up @@ -84,6 +85,9 @@ export function createPresets(
stats: initUiModFilters(item, opts),
};

const shouldDefaultBaseItemOnMagic =
opts.defaultBaseItemOnMagic && item.rarity === ItemRarity.Magic;

// Apply augments if we should
// if (
// (item.rarity === ItemRarity.Magic || item.rarity === ItemRarity.Rare) &&
Expand All @@ -99,7 +103,10 @@ export function createPresets(
// );
// }

if (likelyFinishedItem(item) || !hasCraftingValue(item)) {
if (
(likelyFinishedItem(item) || !hasCraftingValue(item)) &&
!shouldDefaultBaseItemOnMagic
) {
return { active: pseudoPreset.id, presets: [pseudoPreset] };
}

Expand All @@ -109,8 +116,12 @@ export function createPresets(
stats: createExactStatFilters(item, item.statsByType, opts),
};

const activePreset = shouldDefaultBaseItemOnMagic
? baseItemPreset.id
: pseudoPreset.id;

return {
active: pseudoPreset.id,
active: activePreset,
presets: [pseudoPreset, baseItemPreset],
};
}
7 changes: 7 additions & 0 deletions renderer/src/web/price-check/settings-price-check.vue
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,9 @@
<ui-checkbox class="mb-4" v-model="defaultAllSelected">{{
t(":default_all_selected")
}}</ui-checkbox>
<ui-checkbox class="mb-4" v-model="defaultBaseItemOnMagic">{{
t(":default_base_item_on_magic")
}}</ui-checkbox>
<ui-checkbox class="mb-4" v-model="alwaysShowTier">{{
t(":always_show_tier")
}}</ui-checkbox>
Expand Down Expand Up @@ -369,6 +372,10 @@ export default defineComponent({
() => configWidget.value,
"defaultAllSelected",
),
defaultBaseItemOnMagic: configModelValue(
() => configWidget.value,
"defaultBaseItemOnMagic",
),
leagues,
availableCoreCurrencies,
tooltipHover: configModelValue(
Expand Down
Loading