diff --git a/Habitica/res/layout/shop_section_header.xml b/Habitica/res/layout/shop_section_header.xml
index d085f9c36..9f281c619 100644
--- a/Habitica/res/layout/shop_section_header.xml
+++ b/Habitica/res/layout/shop_section_header.xml
@@ -39,8 +39,10 @@
android:src="@drawable/shop_header_sparkle" />
+ android:src="@drawable/ic_arrow_drop_down_10dp" />
+ android:visibility="invisible" />
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt
index 371ac70ee..272de5ce4 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt
@@ -377,7 +377,7 @@ open class ShopFragment : BaseMainFragment()
Shop.SEASONAL_SHOP -> {
newShop.categories.sortWith(
compareBy { it.items.firstOrNull()?.currency != "gold" }
- .thenByDescending { it.items.firstOrNull()?.availableUntil }
+ .thenByDescending { if (it.identifier == "quests") 10000 else findReleaseYear(it.items.firstOrNull()?.key ?: "") }
.thenBy { it.items.firstOrNull()?.locked },
)
}
@@ -394,6 +394,15 @@ open class ShopFragment : BaseMainFragment()
}
}
+ private fun findReleaseYear(key: String): Int {
+ val result = key.filter { it.isDigit() }
+ return if (result.isEmpty()) {
+ 2014
+ } else {
+ result.toInt()
+ }
+ }
+
private fun formatTimeTravelersShop(shop: Shop): Shop {
val newCategories = mutableListOf()
for (category in shop.categories) {