mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
Refactor/market vue (#10601)
* extract inventoryDrawer from market * show scrollbar only if needed * extract featuredItemsHeader / pinUtils * extract pageLayout * extract layoutSection / filterDropdown - fix sortByNumber * rollback sortByNumber order-fix * move equipment lists out of the layout-section (for now) * refactor sellModal * extract checkbox * extract equipment section * extract category row * revert scroll - remove sellModal item template * fix(lint): commas and semis * Created category item component (#10613) * extract filter sidebar * fix gemCount - fix raising the item count if the item wasn't previously owned * fixes #10659 * remove unneeded method
This commit is contained in:
@@ -104,6 +104,7 @@ function getClassName (classType, language) {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO Refactor the `.locked` logic
|
||||
shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
|
||||
let result = filter(items, ['pinType', 'marketGear']);
|
||||
let availableGear = map(updateStore(user), (item) => getItemInfo(user, 'marketGear', item).path);
|
||||
@@ -116,12 +117,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
|
||||
gear.locked = true;
|
||||
}
|
||||
|
||||
// @TODO: I'm not sure what the logic for locking is supposed to be
|
||||
// But, I am pretty sure if we pin an armoire item, it needs to be unlocked
|
||||
if (gear.klass === 'armoire') {
|
||||
gear.locked = false;
|
||||
}
|
||||
|
||||
if (Boolean(gear.specialClass) && Boolean(gear.set)) {
|
||||
let currentSet = gear.set === seasonalShopConfig.pinnedSets[gear.specialClass];
|
||||
|
||||
@@ -132,7 +127,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
|
||||
gear.locked = !gear.canOwn(user);
|
||||
}
|
||||
|
||||
|
||||
let itemOwned = user.items.gear.owned[gear.key];
|
||||
|
||||
if (itemOwned === false && !availableGear.includes(gear.path)) {
|
||||
@@ -140,6 +134,12 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
|
||||
}
|
||||
|
||||
gear.owned = itemOwned;
|
||||
|
||||
// @TODO: I'm not sure what the logic for locking is supposed to be
|
||||
// But, I am pretty sure if we pin an armoire item, it needs to be unlocked
|
||||
if (gear.klass === 'armoire') {
|
||||
gear.locked = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -188,7 +188,8 @@ shops.getMarketGearCategories = function getMarketGear (user, language) {
|
||||
};
|
||||
|
||||
let specialNonClassGear = filter(content.gear.flat, (gear) => {
|
||||
return !user.items.gear.owned[gear.key] &&
|
||||
return user.items.gear.owned[gear.key] === false ||
|
||||
!user.items.gear.owned[gear.key] &&
|
||||
content.classes.indexOf(gear.klass) === -1 &&
|
||||
content.classes.indexOf(gear.specialClass) === -1 &&
|
||||
(gear.canOwn && gear.canOwn(user));
|
||||
|
||||
Reference in New Issue
Block a user