@@ -18,17 +18,18 @@ export function createPresets(
1818 league : string ;
1919 currency : string | undefined ;
2020 listingType :
21- | "securable"
22- | "any"
23- | "online"
24- | "available"
25- | "onlineleague"
26- | undefined ;
21+ | "securable"
22+ | "any"
23+ | "online"
24+ | "available"
25+ | "onlineleague"
26+ | undefined ;
2727 collapseListings : "app" | "api" ;
2828 activateStockFilter : boolean ;
2929 searchStatRange : number ;
3030 useEn : boolean ;
3131 defaultAllSelected : boolean ;
32+ defaultBaseItemOnMagic : boolean ;
3233 autoFillEmptyAugmentSockets : PriceCheckWidget [ "autoFillEmptyRuneSockets" ] ;
3334 } ,
3435) : { presets : FilterPreset [ ] ; active : string } {
@@ -84,6 +85,9 @@ export function createPresets(
8485 stats : initUiModFilters ( item , opts ) ,
8586 } ;
8687
88+ const shouldDefaultBaseItemOnMagic =
89+ opts . defaultBaseItemOnMagic && item . rarity === ItemRarity . Magic ;
90+
8791 // Apply augments if we should
8892 // if (
8993 // (item.rarity === ItemRarity.Magic || item.rarity === ItemRarity.Rare) &&
@@ -99,7 +103,10 @@ export function createPresets(
99103 // );
100104 // }
101105
102- if ( likelyFinishedItem ( item ) || ! hasCraftingValue ( item ) ) {
106+ if (
107+ ( likelyFinishedItem ( item ) || ! hasCraftingValue ( item ) ) &&
108+ ! shouldDefaultBaseItemOnMagic
109+ ) {
103110 return { active : pseudoPreset . id , presets : [ pseudoPreset ] } ;
104111 }
105112
@@ -109,8 +116,12 @@ export function createPresets(
109116 stats : createExactStatFilters ( item , item . statsByType , opts ) ,
110117 } ;
111118
119+ const activePreset = shouldDefaultBaseItemOnMagic
120+ ? baseItemPreset . id
121+ : pseudoPreset . id ;
122+
112123 return {
113- active : pseudoPreset . id ,
124+ active : activePreset ,
114125 presets : [ pseudoPreset , baseItemPreset ] ,
115126 } ;
116127}
0 commit comments