@jeremyckahn/farmhand 1.19.21 → 1.19.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{index-CG_lY1MJ.js → index-BjAIF9CZ.js} +7 -7
- package/dist/assets/{index-CG_lY1MJ.js.map → index-BjAIF9CZ.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/dist/service-worker.js.map +1 -1
- package/package.json +2 -3
- package/src/common/services/{randomNumber.ts → randomNumber.js} +0 -1
- package/src/common/{utils.ts → utils.js} +1 -1
- package/src/components/AccountingView/{AccountingView.tsx → AccountingView.js} +0 -1
- package/src/components/AchievementsView/{AchievementsView.tsx → AchievementsView.js} +0 -2
- package/src/components/AnimatedNumber/{AnimatedNumber.tsx → AnimatedNumber.js} +0 -3
- package/src/components/AppBar/{AppBar.tsx → AppBar.js} +0 -3
- package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.tsx → BailOutErrorBoundary.js} +0 -2
- package/src/components/Cellar/{CellarInventoryTabPanel.tsx → CellarInventoryTabPanel.js} +0 -2
- package/src/components/Cellar/{Keg.tsx → Keg.js} +1 -0
- package/src/components/ContextPane/{ContextPane.tsx → ContextPane.js} +0 -2
- package/src/components/ContextPane/{ContextPane.test.tsx → ContextPane.test.js} +0 -3
- package/src/components/CowCard/Bloodline/{Bloodline.test.tsx → Bloodline.test.js} +3 -6
- package/src/components/CowCard/{CowCard.tsx → CowCard.js} +2 -4
- package/src/components/CowCard/Subheader/{Subheader.tsx → Subheader.js} +0 -1
- package/src/components/CowPen/{Cow.tsx → Cow.js} +1 -15
- package/src/components/CowPen/{CowPen.test.tsx → CowPen.test.js} +1 -15
- package/src/components/CowPen/{Tumbleweeds.tsx → Tumbleweeds.js} +1 -2
- package/src/components/Farmhand/{Farmhand.context.tsx → Farmhand.context.js} +2 -2
- package/src/components/Farmhand/{Farmhand.tsx → Farmhand.js} +16 -83
- package/src/components/FermentationRecipeList/{FermentationRecipe.tsx → FermentationRecipe.js} +3 -4
- package/src/components/FermentationRecipeList/{FermentationRecipeList.tsx → FermentationRecipeList.js} +0 -3
- package/src/components/FermentationRecipeList/{FermentationRecipeList.test.tsx → FermentationRecipeList.test.js} +0 -5
- package/src/components/Field/{Field.tsx → Field.js} +1 -6
- package/src/components/Field/{Field.test.tsx → Field.test.js} +1 -0
- package/src/components/Home/{Home.tsx → Home.js} +0 -1
- package/src/components/Home/{SnowBackground.tsx → SnowBackground.js} +0 -2
- package/src/components/Inventory/{Inventory.tsx → Inventory.js} +2 -9
- package/src/components/Item/{Item.tsx → Item.js} +1 -2
- package/src/components/LogView/{LogView.tsx → LogView.js} +1 -2
- package/src/components/Navigation/{Navigation.tsx → Navigation.js} +1 -0
- package/src/components/NotificationSystem/{NotificationSystem.tsx → NotificationSystem.js} +1 -0
- package/src/components/OnlinePeersView/{OnlinePeersView.tsx → OnlinePeersView.js} +1 -1
- package/src/components/Plot/{Plot.tsx → Plot.js} +0 -5
- package/src/components/Plot/{Plot.test.tsx → Plot.test.js} +8 -8
- package/src/components/PriceEventView/{PriceEventView.test.tsx → PriceEventView.test.js} +0 -1
- package/src/components/ProgressBar/{ProgressBar.tsx → ProgressBar.js} +0 -2
- package/src/components/QuantityInput/{QuantityInput.tsx → QuantityInput.js} +0 -1
- package/src/components/Recipe/{Recipe.tsx → Recipe.js} +2 -1
- package/src/components/SettingsView/{RandomSeedInput.tsx → RandomSeedInput.js} +1 -1
- package/src/components/Shop/{Shop.tsx → Shop.js} +1 -2
- package/src/components/Stage/{Stage.tsx → Stage.js} +3 -6
- package/src/components/Stage/{Stage.test.tsx → Stage.test.js} +0 -1
- package/src/components/Toolbelt/{Toolbelt.tsx → Toolbelt.js} +0 -3
- package/src/components/UpgradePurchase/{UpgradePurchase.tsx → UpgradePurchase.js} +1 -0
- package/src/components/WineRecipeList/{WineRecipe.tsx → WineRecipe.js} +1 -2
- package/src/components/WineRecipeList/{WineRecipe.test.tsx → WineRecipe.test.js} +1 -10
- package/src/components/WineRecipeList/{WineRecipeList.tsx → WineRecipeList.js} +0 -1
- package/src/components/Workshop/{ForgeTabPanel.tsx → ForgeTabPanel.js} +0 -1
- package/src/components/Workshop/{getUpgradesAvailable.ts → getUpgradesAvailable.js} +0 -2
- package/src/components/Workshop/{getUpgradesAvailable.test.ts → getUpgradesAvailable.test.js} +0 -1
- package/src/{constants.ts → constants.js} +2 -2
- package/src/data/{achievements.ts → achievements.js} +0 -9
- package/src/data/{achievements.test.ts → achievements.test.js} +1 -2
- package/src/data/{crop.ts → crop.js} +4 -5
- package/src/data/crops/{asparagus.ts → asparagus.js} +0 -2
- package/src/data/crops/{carrot.ts → carrot.js} +0 -2
- package/src/data/crops/{corn.ts → corn.js} +0 -2
- package/src/data/crops/{garlic.ts → garlic.js} +0 -2
- package/src/data/crops/{grape.ts → grape.js} +7 -11
- package/src/data/crops/{jalapeno.ts → jalapeno.js} +0 -2
- package/src/data/crops/{olive.ts → olive.js} +0 -2
- package/src/data/crops/{onion.ts → onion.js} +0 -2
- package/src/data/crops/{pea.ts → pea.js} +0 -2
- package/src/data/crops/{potato.ts → potato.js} +0 -2
- package/src/data/crops/{pumpkin.ts → pumpkin.js} +0 -2
- package/src/data/crops/{soybean.ts → soybean.js} +0 -2
- package/src/data/crops/{spinach.ts → spinach.js} +0 -2
- package/src/data/crops/{strawberry.ts → strawberry.js} +0 -2
- package/src/data/crops/{sunflower.ts → sunflower.js} +0 -2
- package/src/data/crops/{sweet-potato.ts → sweet-potato.js} +0 -2
- package/src/data/crops/{tomato.ts → tomato.js} +0 -2
- package/src/data/crops/{watermelon.ts → watermelon.js} +0 -2
- package/src/data/crops/{wheat.ts → wheat.js} +0 -2
- package/src/data/{items.ts → items.js} +12 -12
- package/src/data/{levels.ts → levels.js} +0 -28
- package/src/data/{maps.ts → maps.js} +1 -2
- package/src/data/ores/{bronzeOre.ts → bronzeOre.js} +1 -1
- package/src/data/ores/{coal.ts → coal.js} +1 -1
- package/src/data/ores/{goldOre.ts → goldOre.js} +1 -1
- package/src/data/ores/{ironOre.ts → ironOre.js} +1 -1
- package/src/data/ores/{saltRock.ts → saltRock.js} +1 -1
- package/src/data/ores/{silverOre.ts → silverOre.js} +1 -1
- package/src/data/ores/{stone.ts → stone.js} +1 -1
- package/src/data/{recipes.ts → recipes.js} +43 -43
- package/src/{enums.ts → enums.js} +28 -28
- package/src/factories/{CoalFactory.ts → CoalFactory.js} +0 -2
- package/src/factories/{OreFactory.ts → OreFactory.js} +0 -3
- package/src/factories/{ResourceFactory.ts → ResourceFactory.js} +0 -4
- package/src/factories/{ResourceFactory.test.ts → ResourceFactory.test.js} +0 -4
- package/src/factories/{StoneFactory.ts → StoneFactory.js} +0 -1
- package/src/{fetch-utils.ts → fetch-utils.js} +0 -2
- package/src/game-logic/{field-purchase.test.ts → field-purchase.test.js} +2 -4
- package/src/game-logic/reducers/{applyCrows.ts → applyCrows.js} +0 -3
- package/src/game-logic/reducers/{applyLoanInterest.ts → applyLoanInterest.js} +1 -1
- package/src/game-logic/reducers/{applyPrecipitation.ts → applyPrecipitation.js} +6 -6
- package/src/game-logic/reducers/{computeStateForNextDay.ts → computeStateForNextDay.js} +2 -2
- package/src/game-logic/reducers/{makeFermentationRecipe.ts → makeFermentationRecipe.js} +0 -1
- package/src/game-logic/reducers/{makeWine.ts → makeWine.js} +0 -1
- package/src/game-logic/reducers/{makeWine.test.ts → makeWine.test.js} +2 -0
- package/src/game-logic/reducers/{minePlot.ts → minePlot.js} +0 -1
- package/src/game-logic/reducers/{processCellarSpoilage.ts → processCellarSpoilage.js} +1 -0
- package/src/game-logic/reducers/{processCellarSpoilage.test.ts → processCellarSpoilage.test.js} +5 -0
- package/src/game-logic/reducers/{processCowFertilizerProduction.ts → processCowFertilizerProduction.js} +1 -1
- package/src/game-logic/reducers/{processLevelUp.ts → processLevelUp.js} +0 -3
- package/src/game-logic/reducers/{purchaseField.test.ts → purchaseField.test.js} +0 -2
- package/src/game-logic/reducers/{purchaseForest.test.tsx → purchaseForest.test.js} +2 -6
- package/src/game-logic/reducers/{rotateNotificationLogs.ts → rotateNotificationLogs.js} +1 -1
- package/src/game-logic/reducers/{sellItem.test.ts → sellItem.test.js} +3 -0
- package/src/game-logic/reducers/{sellKeg.ts → sellKeg.js} +1 -0
- package/src/game-logic/reducers/{spawnWeeds.ts → spawnWeeds.js} +0 -1
- package/src/game-logic/reducers/{updateAchievements.ts → updateAchievements.js} +0 -1
- package/src/game-logic/reducers/{updatePeer.ts → updatePeer.js} +0 -1
- package/src/game-logic/reducers/{updatePeer.test.ts → updatePeer.test.js} +4 -0
- package/src/game-logic/reducers/{updatePlotShoveledState.test.ts → updatePlotShoveledState.test.js} +1 -0
- package/src/handlers/{peer-events.ts → peer-events.js} +0 -5
- package/src/handlers/{ui-events.tsx → ui-events.js} +6 -88
- package/src/handlers/{ui-events.test.ts → ui-events.test.js} +0 -2
- package/src/{index.tsx → index.js} +0 -2
- package/src/scripts/{generate-crop-table.ts → generate-crop-table.js} +4 -5
- package/src/services/{cellar.test.ts → cellar.test.js} +1 -1
- package/src/services/{wine.ts → wine.js} +0 -1
- package/src/shell/{notifications.test.ts → notifications.test.js} +13 -19
- package/src/{templates.ts → templates.js} +0 -8
- package/src/test-utils/{index.ts → index.js} +3 -3
- package/src/test-utils/stubs/{getKegStub.ts → getKegStub.js} +0 -1
- package/src/utils/{farmProductsSold.tsx → farmProductsSold.js} +0 -2
- package/src/utils/{getCropLifecycleDuration.ts → getCropLifecycleDuration.js} +0 -1
- package/src/utils/{getCropsAvailableToFerment.ts → getCropsAvailableToFerment.js} +0 -1
- package/src/utils/{getInventoryQuantityMap.ts → getInventoryQuantityMap.js} +0 -1
- package/src/utils/{getLevelEntitlements.ts → getLevelEntitlements.js} +0 -4
- package/src/utils/{getMaxYieldOfFermentationRecipe.ts → getMaxYieldOfFermentationRecipe.js} +0 -1
- package/src/utils/{getWineVarietiesAvailableToMake.ts → getWineVarietiesAvailableToMake.js} +0 -2
- package/src/utils/{index.tsx → index.js} +11 -25
- package/src/utils/{index.test.ts → index.test.js} +2 -0
- package/src/utils/{isItemAFarmProduct.ts → isItemAFarmProduct.js} +1 -1
- package/src/utils/{memoize.ts → memoize.js} +0 -2
- package/src/utils/{totalIngredientsInRecipe.ts → totalIngredientsInRecipe.js} +0 -2
- /package/src/common/{constants.ts → constants.js} +0 -0
- /package/src/common/services/{randomNumber.test.ts → randomNumber.test.js} +0 -0
- /package/src/common/{utils.test.ts → utils.test.js} +0 -0
- /package/src/components/AccountingView/{AccountingView.test.tsx → AccountingView.test.js} +0 -0
- /package/src/components/AccountingView/{index.ts → index.js} +0 -0
- /package/src/components/Achievement/{Achievement.tsx → Achievement.js} +0 -0
- /package/src/components/Achievement/{Achievement.test.tsx → Achievement.test.js} +0 -0
- /package/src/components/Achievement/{index.ts → index.js} +0 -0
- /package/src/components/AchievementsView/{AchievementsView.test.tsx → AchievementsView.test.js} +0 -0
- /package/src/components/AchievementsView/{index.ts → index.js} +0 -0
- /package/src/components/AnimatedNumber/{AnimatedNumber.test.tsx → AnimatedNumber.test.js} +0 -0
- /package/src/components/AnimatedNumber/{index.ts → index.js} +0 -0
- /package/src/components/AppBar/{AppBar.test.tsx → AppBar.test.js} +0 -0
- /package/src/components/AppBar/{index.ts → index.js} +0 -0
- /package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.test.tsx → BailOutErrorBoundary.test.js} +0 -0
- /package/src/components/BailOutErrorBoundary/{index.ts → index.js} +0 -0
- /package/src/components/Cellar/{Cellar.tsx → Cellar.js} +0 -0
- /package/src/components/Cellar/{FermentationTabPanel.tsx → FermentationTabPanel.js} +0 -0
- /package/src/components/Cellar/TabPanel/{index.tsx → index.js} +0 -0
- /package/src/components/Cellar/{WinemakingTabPanel.tsx → WinemakingTabPanel.js} +0 -0
- /package/src/components/Cellar/{index.ts → index.js} +0 -0
- /package/src/components/ChatRoom/{ChatRoom.tsx → ChatRoom.js} +0 -0
- /package/src/components/ChatRoom/{index.ts → index.js} +0 -0
- /package/src/components/ContextPane/{index.ts → index.js} +0 -0
- /package/src/components/CowCard/Bloodline/{Bloodline.tsx → Bloodline.js} +0 -0
- /package/src/components/CowCard/Bloodline/{index.ts → index.js} +0 -0
- /package/src/components/CowCard/{CowCard.test.tsx → CowCard.test.js} +0 -0
- /package/src/components/CowCard/Subheader/{Subheader.test.tsx → Subheader.test.js} +0 -0
- /package/src/components/CowCard/Subheader/{index.ts → index.js} +0 -0
- /package/src/components/CowCard/{index.ts → index.js} +0 -0
- /package/src/components/CowPen/{CowPen.tsx → CowPen.js} +0 -0
- /package/src/components/CowPen/{index.ts → index.js} +0 -0
- /package/src/components/CowPenContextMenu/{CowPenContextMenu.tsx → CowPenContextMenu.js} +0 -0
- /package/src/components/CowPenContextMenu/{CowPenContextMenu.test.tsx → CowPenContextMenu.test.js} +0 -0
- /package/src/components/CowPenContextMenu/TabPanel/{index.tsx → index.js} +0 -0
- /package/src/components/CowPenContextMenu/{index.ts → index.js} +0 -0
- /package/src/components/Elements/{index.ts → index.js} +0 -0
- /package/src/components/Farmhand/{Farmhand.test.ts → Farmhand.test.js} +0 -0
- /package/src/components/Farmhand/{FarmhandReducers.tsx → FarmhandReducers.js} +0 -0
- /package/src/components/Farmhand/helpers/{getInventoryQuantities.ts → getInventoryQuantities.js} +0 -0
- /package/src/components/Farmhand/helpers/{getInventoryQuantities.test.ts → getInventoryQuantities.test.js} +0 -0
- /package/src/components/Farmhand/{index.ts → index.js} +0 -0
- /package/src/components/Field/{index.ts → index.js} +0 -0
- /package/src/components/Forest/{Forest.tsx → Forest.js} +0 -0
- /package/src/components/Forest/{index.ts → index.js} +0 -0
- /package/src/components/Home/{Home.test.tsx → Home.test.js} +0 -0
- /package/src/components/Home/{index.ts → index.js} +0 -0
- /package/src/components/IngredientsList/{IngredientsList.tsx → IngredientsList.js} +0 -0
- /package/src/components/IngredientsList/{IngredientsList.test.tsx → IngredientsList.test.js} +0 -0
- /package/src/components/IngredientsList/{index.ts → index.js} +0 -0
- /package/src/components/Inventory/{Inventory.test.tsx → Inventory.test.js} +0 -0
- /package/src/components/Inventory/{index.ts → index.js} +0 -0
- /package/src/components/Item/{Item.test.tsx → Item.test.js} +0 -0
- /package/src/components/Item/{index.ts → index.js} +0 -0
- /package/src/components/KeybindingsView/{KeybindingsView.tsx → KeybindingsView.js} +0 -0
- /package/src/components/KeybindingsView/{KeybindingsView.test.tsx → KeybindingsView.test.js} +0 -0
- /package/src/components/KeybindingsView/{index.ts → index.js} +0 -0
- /package/src/components/LogView/{LogView.test.tsx → LogView.test.js} +0 -0
- /package/src/components/LogView/{index.ts → index.js} +0 -0
- /package/src/components/Navigation/{DayAndProgressContainer.tsx → DayAndProgressContainer.js} +0 -0
- /package/src/components/Navigation/{Navigation.test.tsx → Navigation.test.js} +0 -0
- /package/src/components/Navigation/{index.ts → index.js} +0 -0
- /package/src/components/NotificationSystem/{NotificationSystem.test.tsx → NotificationSystem.test.js} +0 -0
- /package/src/components/NotificationSystem/{index.ts → index.js} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.tsx → OnlinePeer.js} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.test.tsx → OnlinePeer.test.js} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{index.ts → index.js} +0 -0
- /package/src/components/OnlinePeersView/{OnlinePeersView.test.tsx → OnlinePeersView.test.js} +0 -0
- /package/src/components/OnlinePeersView/{index.ts → index.js} +0 -0
- /package/src/components/Plot/{index.ts → index.js} +0 -0
- /package/src/components/PriceEventView/{PriceEventView.tsx → PriceEventView.js} +0 -0
- /package/src/components/PriceEventView/{index.ts → index.js} +0 -0
- /package/src/components/ProgressBar/{ProgressBar.test.tsx → ProgressBar.test.js} +0 -0
- /package/src/components/ProgressBar/{index.ts → index.js} +0 -0
- /package/src/components/QuantityInput/{QuantityInput.test.tsx → QuantityInput.test.js} +0 -0
- /package/src/components/QuantityInput/{index.ts → index.js} +0 -0
- /package/src/components/QuickSelect/{QuickSelect.tsx → QuickSelect.js} +0 -0
- /package/src/components/QuickSelect/{QuickSelect.test.tsx → QuickSelect.test.js} +0 -0
- /package/src/components/QuickSelect/{index.ts → index.js} +0 -0
- /package/src/components/Recipe/{Recipe.test.tsx → Recipe.test.js} +0 -0
- /package/src/components/Recipe/{index.ts → index.js} +0 -0
- /package/src/components/RecipeList/{RecipeList.tsx → RecipeList.js} +0 -0
- /package/src/components/SearchBar/{SearchBar.tsx → SearchBar.js} +0 -0
- /package/src/components/SearchBar/{SearchBar.test.tsx → SearchBar.test.js} +0 -0
- /package/src/components/SearchBar/{index.ts → index.js} +0 -0
- /package/src/components/SettingsView/{RandomSeedInput.test.tsx → RandomSeedInput.test.js} +0 -0
- /package/src/components/SettingsView/{SettingsView.tsx → SettingsView.js} +0 -0
- /package/src/components/SettingsView/{SettingsView.test.tsx → SettingsView.test.js} +0 -0
- /package/src/components/SettingsView/{index.ts → index.js} +0 -0
- /package/src/components/Shop/{Shop.test.tsx → Shop.test.js} +0 -0
- /package/src/components/Shop/TabPanel/{index.tsx → index.js} +0 -0
- /package/src/components/Shop/{index.ts → index.js} +0 -0
- /package/src/components/Stage/{index.ts → index.js} +0 -0
- /package/src/components/StatsView/{StatsView.tsx → StatsView.js} +0 -0
- /package/src/components/StatsView/{StatsView.test.tsx → StatsView.test.js} +0 -0
- /package/src/components/StatsView/{index.ts → index.js} +0 -0
- /package/src/components/TierPurchase/{TierPurchase.tsx → TierPurchase.js} +0 -0
- /package/src/components/TierPurchase/{TierPurchase.test.tsx → TierPurchase.test.js} +0 -0
- /package/src/components/TierPurchase/{index.ts → index.js} +0 -0
- /package/src/components/Toolbelt/{Toolbelt.test.tsx → Toolbelt.test.js} +0 -0
- /package/src/components/Toolbelt/{index.ts → index.js} +0 -0
- /package/src/components/UpdateNotifier/{UpdateNotifier.tsx → UpdateNotifier.js} +0 -0
- /package/src/components/UpdateNotifier/{index.ts → index.js} +0 -0
- /package/src/components/UpgradePurchase/{UpgradePurchase.test.tsx → UpgradePurchase.test.js} +0 -0
- /package/src/components/UpgradePurchase/{index.ts → index.js} +0 -0
- /package/src/components/Workshop/{KitchenTabPanel.tsx → KitchenTabPanel.js} +0 -0
- /package/src/components/Workshop/{RecyclingTabPanel.tsx → RecyclingTabPanel.js} +0 -0
- /package/src/components/Workshop/TabPanel/{index.tsx → index.js} +0 -0
- /package/src/components/Workshop/{Workshop.tsx → Workshop.js} +0 -0
- /package/src/components/Workshop/{Workshop.test.tsx → Workshop.test.js} +0 -0
- /package/src/components/Workshop/{index.ts → index.js} +0 -0
- /package/src/{config.ts → config.js} +0 -0
- /package/src/data/__mocks__/{items.ts → items.js} +0 -0
- /package/src/data/__mocks__/{maps.ts → maps.js} +0 -0
- /package/src/data/__mocks__/{recipes.ts → recipes.js} +0 -0
- /package/src/data/__mocks__/{shop-inventory.ts → shop-inventory.js} +0 -0
- /package/src/data/crops/{index.ts → index.js} +0 -0
- /package/src/data/{fruit-names.ts → fruit-names.js} +0 -0
- /package/src/data/{items-map.ts → items-map.js} +0 -0
- /package/src/data/ores/{index.ts → index.js} +0 -0
- /package/src/data/{shop-inventory-cow.ts → shop-inventory-cow.js} +0 -0
- /package/src/data/{shop-inventory.ts → shop-inventory.js} +0 -0
- /package/src/data/{tools.ts → tools.js} +0 -0
- /package/src/data/{upgrades.ts → upgrades.js} +0 -0
- /package/src/factories/{CoalFactory.test.ts → CoalFactory.test.js} +0 -0
- /package/src/factories/{OreFactory.test.ts → OreFactory.test.js} +0 -0
- /package/src/factories/{StoneFactory.test.ts → StoneFactory.test.js} +0 -0
- /package/src/factories/{index.ts → index.js} +0 -0
- /package/src/game-logic/cows/{cow-selection.test.ts → cow-selection.test.js} +0 -0
- /package/src/game-logic/{item-purchase.test.ts → item-purchase.test.js} +0 -0
- /package/src/game-logic/{item-sell.test.ts → item-sell.test.js} +0 -0
- /package/src/game-logic/reducers/{addCowToInventory.ts → addCowToInventory.js} +0 -0
- /package/src/game-logic/reducers/{addExperience.ts → addExperience.js} +0 -0
- /package/src/game-logic/reducers/{addExperience.test.ts → addExperience.test.js} +0 -0
- /package/src/game-logic/reducers/{addItemToInventory.ts → addItemToInventory.js} +0 -0
- /package/src/game-logic/reducers/{addItemToInventory.test.ts → addItemToInventory.test.js} +0 -0
- /package/src/game-logic/reducers/{addKegToCellarInventory.ts → addKegToCellarInventory.js} +0 -0
- /package/src/game-logic/reducers/{addPeer.ts → addPeer.js} +0 -0
- /package/src/game-logic/reducers/{addRevenue.ts → addRevenue.js} +0 -0
- /package/src/game-logic/reducers/{adjustLoan.ts → adjustLoan.js} +0 -0
- /package/src/game-logic/reducers/{adjustLoan.test.ts → adjustLoan.test.js} +0 -0
- /package/src/game-logic/reducers/{applyCrows.test.ts → applyCrows.test.js} +0 -0
- /package/src/game-logic/reducers/{applyLoanInterest.test.ts → applyLoanInterest.test.js} +0 -0
- /package/src/game-logic/reducers/{applyPrecipitation.test.ts → applyPrecipitation.test.js} +0 -0
- /package/src/game-logic/reducers/{changeCowAutomaticHugState.ts → changeCowAutomaticHugState.js} +0 -0
- /package/src/game-logic/reducers/{changeCowAutomaticHugState.test.ts → changeCowAutomaticHugState.test.js} +0 -0
- /package/src/game-logic/reducers/{changeCowBreedingPenResident.ts → changeCowBreedingPenResident.js} +0 -0
- /package/src/game-logic/reducers/{changeCowBreedingPenResident.test.ts → changeCowBreedingPenResident.test.js} +0 -0
- /package/src/game-logic/reducers/{changeCowName.ts → changeCowName.js} +0 -0
- /package/src/game-logic/reducers/{changeCowName.test.ts → changeCowName.test.js} +0 -0
- /package/src/game-logic/reducers/{clearPlot.ts → clearPlot.js} +0 -0
- /package/src/game-logic/reducers/{clearPlot.test.ts → clearPlot.test.js} +0 -0
- /package/src/game-logic/reducers/{computeCowInventoryForNextDay.ts → computeCowInventoryForNextDay.js} +0 -0
- /package/src/game-logic/reducers/{computeCowInventoryForNextDay.test.ts → computeCowInventoryForNextDay.test.js} +0 -0
- /package/src/game-logic/reducers/{computeStateForNextDay.test.ts → computeStateForNextDay.test.js} +0 -0
- /package/src/game-logic/reducers/{consumeIngredients.ts → consumeIngredients.js} +0 -0
- /package/src/game-logic/reducers/{consumeIngredients.test.ts → consumeIngredients.test.js} +0 -0
- /package/src/game-logic/reducers/{createPriceEvent.ts → createPriceEvent.js} +0 -0
- /package/src/game-logic/reducers/{createPriceEvent.test.ts → createPriceEvent.test.js} +0 -0
- /package/src/game-logic/reducers/{decrementItemFromInventory.ts → decrementItemFromInventory.js} +0 -0
- /package/src/game-logic/reducers/{decrementItemFromInventory.test.ts → decrementItemFromInventory.test.js} +0 -0
- /package/src/game-logic/reducers/{fertilizePlot.ts → fertilizePlot.js} +0 -0
- /package/src/game-logic/reducers/{fertilizePlot.test.ts → fertilizePlot.test.js} +0 -0
- /package/src/game-logic/reducers/{forRange.ts → forRange.js} +0 -0
- /package/src/game-logic/reducers/{forRange.test.ts → forRange.test.js} +0 -0
- /package/src/game-logic/reducers/{generatePriceEvents.ts → generatePriceEvents.js} +0 -0
- /package/src/game-logic/reducers/{generatePriceEvents.test.ts → generatePriceEvents.test.js} +0 -0
- /package/src/game-logic/reducers/{harvestPlot.ts → harvestPlot.js} +0 -0
- /package/src/game-logic/reducers/{harvestPlot.test.ts → harvestPlot.test.js} +0 -0
- /package/src/game-logic/reducers/{helpers.tsx → helpers.js} +0 -0
- /package/src/game-logic/reducers/{hugCow.ts → hugCow.js} +0 -0
- /package/src/game-logic/reducers/{hugCow.test.ts → hugCow.test.js} +0 -0
- /package/src/game-logic/reducers/{incrementPlotContentAge.ts → incrementPlotContentAge.js} +0 -0
- /package/src/game-logic/reducers/{incrementPlotContentAge.test.ts → incrementPlotContentAge.test.js} +0 -0
- /package/src/game-logic/reducers/{index.ts → index.js} +0 -0
- /package/src/game-logic/reducers/{makeFermentationRecipe.test.ts → makeFermentationRecipe.test.js} +0 -0
- /package/src/game-logic/reducers/{makeRecipe.ts → makeRecipe.js} +0 -0
- /package/src/game-logic/reducers/{makeRecipe.test.ts → makeRecipe.test.js} +0 -0
- /package/src/game-logic/reducers/{minePlot.test.ts → minePlot.test.js} +0 -0
- /package/src/game-logic/reducers/{modifyCow.ts → modifyCow.js} +0 -0
- /package/src/game-logic/reducers/{modifyFieldPlotAt.ts → modifyFieldPlotAt.js} +0 -0
- /package/src/game-logic/reducers/{offerCow.ts → offerCow.js} +0 -0
- /package/src/game-logic/reducers/{offerCow.test.ts → offerCow.test.js} +0 -0
- /package/src/game-logic/reducers/{plantInPlot.ts → plantInPlot.js} +0 -0
- /package/src/game-logic/reducers/{plantInPlot.test.ts → plantInPlot.test.js} +0 -0
- /package/src/game-logic/reducers/{prependPendingPeerMessage.ts → prependPendingPeerMessage.js} +0 -0
- /package/src/game-logic/reducers/{prependPendingPeerMessage.test.ts → prependPendingPeerMessage.test.js} +0 -0
- /package/src/game-logic/reducers/{processCellar.ts → processCellar.js} +0 -0
- /package/src/game-logic/reducers/{processCellar.test.ts → processCellar.test.js} +0 -0
- /package/src/game-logic/reducers/{processCowAttrition.ts → processCowAttrition.js} +0 -0
- /package/src/game-logic/reducers/{processCowAttrition.test.ts → processCowAttrition.test.js} +0 -0
- /package/src/game-logic/reducers/{processCowBreeding.ts → processCowBreeding.js} +0 -0
- /package/src/game-logic/reducers/{processCowBreeding.test.ts → processCowBreeding.test.js} +0 -0
- /package/src/game-logic/reducers/{processCowFertilizerProduction.test.ts → processCowFertilizerProduction.test.js} +0 -0
- /package/src/game-logic/reducers/{processFeedingCows.ts → processFeedingCows.js} +0 -0
- /package/src/game-logic/reducers/{processFeedingCows.test.ts → processFeedingCows.test.js} +0 -0
- /package/src/game-logic/reducers/{processField.ts → processField.js} +0 -0
- /package/src/game-logic/reducers/{processLevelUp.test.ts → processLevelUp.test.js} +0 -0
- /package/src/game-logic/reducers/{processMilkingCows.ts → processMilkingCows.js} +0 -0
- /package/src/game-logic/reducers/{processMilkingCows.test.ts → processMilkingCows.test.js} +0 -0
- /package/src/game-logic/reducers/{processNerfs.ts → processNerfs.js} +0 -0
- /package/src/game-logic/reducers/{processNerfs.test.ts → processNerfs.test.js} +0 -0
- /package/src/game-logic/reducers/{processSprinklers.ts → processSprinklers.js} +0 -0
- /package/src/game-logic/reducers/{processSprinklers.test.ts → processSprinklers.test.js} +0 -0
- /package/src/game-logic/reducers/{processWeather.ts → processWeather.js} +0 -0
- /package/src/game-logic/reducers/{processWeather.test.ts → processWeather.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCellar.ts → purchaseCellar.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCellar.test.ts → purchaseCellar.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCombine.ts → purchaseCombine.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCombine.test.ts → purchaseCombine.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseComposter.ts → purchaseComposter.js} +0 -0
- /package/src/game-logic/reducers/{purchaseComposter.test.ts → purchaseComposter.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCow.ts → purchaseCow.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCow.test.ts → purchaseCow.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCowPen.ts → purchaseCowPen.js} +0 -0
- /package/src/game-logic/reducers/{purchaseCowPen.test.ts → purchaseCowPen.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseField.ts → purchaseField.js} +0 -0
- /package/src/game-logic/reducers/{purchaseForest.ts → purchaseForest.js} +0 -0
- /package/src/game-logic/reducers/{purchaseItem.ts → purchaseItem.js} +0 -0
- /package/src/game-logic/reducers/{purchaseItem.test.ts → purchaseItem.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseSmelter.ts → purchaseSmelter.js} +0 -0
- /package/src/game-logic/reducers/{purchaseSmelter.test.ts → purchaseSmelter.test.js} +0 -0
- /package/src/game-logic/reducers/{purchaseStorageExpansion.ts → purchaseStorageExpansion.js} +0 -0
- /package/src/game-logic/reducers/{purchaseStorageExpansion.test.ts → purchaseStorageExpansion.test.js} +0 -0
- /package/src/game-logic/reducers/{removeCowFromInventory.ts → removeCowFromInventory.js} +0 -0
- /package/src/game-logic/reducers/{removeFieldPlotAt.ts → removeFieldPlotAt.js} +0 -0
- /package/src/game-logic/reducers/{removeKegFromCellar.ts → removeKegFromCellar.js} +0 -0
- /package/src/game-logic/reducers/{removePeer.ts → removePeer.js} +0 -0
- /package/src/game-logic/reducers/{rotateNotificationLogs.test.ts → rotateNotificationLogs.test.js} +0 -0
- /package/src/game-logic/reducers/{selectCow.ts → selectCow.js} +0 -0
- /package/src/game-logic/reducers/{selectCow.test.ts → selectCow.test.js} +0 -0
- /package/src/game-logic/reducers/{sellCow.ts → sellCow.js} +0 -0
- /package/src/game-logic/reducers/{sellCow.test.ts → sellCow.test.js} +0 -0
- /package/src/game-logic/reducers/{sellItem.ts → sellItem.js} +0 -0
- /package/src/game-logic/reducers/{sellKeg.test.ts → sellKeg.test.js} +0 -0
- /package/src/game-logic/reducers/{setScarecrow.ts → setScarecrow.js} +0 -0
- /package/src/game-logic/reducers/{setScarecrow.test.ts → setScarecrow.test.js} +0 -0
- /package/src/game-logic/reducers/{setSprinkler.ts → setSprinkler.js} +0 -0
- /package/src/game-logic/reducers/{setSprinkler.test.ts → setSprinkler.test.js} +0 -0
- /package/src/game-logic/reducers/{showNotification.ts → showNotification.js} +0 -0
- /package/src/game-logic/reducers/{showNotification.test.ts → showNotification.test.js} +0 -0
- /package/src/game-logic/reducers/{spawnWeeds.test.ts → spawnWeeds.test.js} +0 -0
- /package/src/game-logic/reducers/{unlockTool.ts → unlockTool.js} +0 -0
- /package/src/game-logic/reducers/{unlockTool.test.ts → unlockTool.test.js} +0 -0
- /package/src/game-logic/reducers/{updateAchievements.test.ts → updateAchievements.test.js} +0 -0
- /package/src/game-logic/reducers/{updateFinancialRecords.ts → updateFinancialRecords.js} +0 -0
- /package/src/game-logic/reducers/{updateFinancialRecords.test.ts → updateFinancialRecords.test.js} +0 -0
- /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.ts → updateInventoryRecordsForNextDay.js} +0 -0
- /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.test.ts → updateInventoryRecordsForNextDay.test.js} +0 -0
- /package/src/game-logic/reducers/{updateLearnedRecipes.ts → updateLearnedRecipes.js} +0 -0
- /package/src/game-logic/reducers/{updateLearnedRecipes.test.ts → updateLearnedRecipes.test.js} +0 -0
- /package/src/game-logic/reducers/{updatePlotShoveledState.ts → updatePlotShoveledState.js} +0 -0
- /package/src/game-logic/reducers/{updatePriceEvents.tsx → updatePriceEvents.js} +0 -0
- /package/src/game-logic/reducers/{updatePriceEvents.test.ts → updatePriceEvents.test.js} +0 -0
- /package/src/game-logic/reducers/{upgradeTool.ts → upgradeTool.js} +0 -0
- /package/src/game-logic/reducers/{upgradeTool.test.ts → upgradeTool.test.js} +0 -0
- /package/src/game-logic/reducers/{waterAllPlots.ts → waterAllPlots.js} +0 -0
- /package/src/game-logic/reducers/{waterAllPlots.test.ts → waterAllPlots.test.js} +0 -0
- /package/src/game-logic/reducers/{waterField.ts → waterField.js} +0 -0
- /package/src/game-logic/reducers/{waterPlot.ts → waterPlot.js} +0 -0
- /package/src/game-logic/reducers/{waterPlot.test.ts → waterPlot.test.js} +0 -0
- /package/src/game-logic/reducers/{withdrawCow.ts → withdrawCow.js} +0 -0
- /package/src/game-logic/reducers/{withdrawCow.test.ts → withdrawCow.test.js} +0 -0
- /package/src/img/__mocks__/{index.ts → index.js} +0 -0
- /package/src/img/{index.ts → index.js} +0 -0
- /package/src/interfaces/{Factory.ts → Factory.js} +0 -0
- /package/src/{mui-theme.ts → mui-theme.js} +0 -0
- /package/src/{polyfills.ts → polyfills.js} +0 -0
- /package/src/services/{cellar.ts → cellar.js} +0 -0
- /package/src/services/{wine.test.ts → wine.test.js} +0 -0
- /package/src/{setupTests.ts → setupTests.js} +0 -0
- /package/src/shell/{bootup.test.ts → bootup.test.js} +0 -0
- /package/src/shell/{field.test.ts → field.test.js} +0 -0
- /package/src/shell/{game-saving.test.ts → game-saving.test.js} +0 -0
- /package/src/shell/{navigation.test.ts → navigation.test.js} +0 -0
- /package/src/shell/{pending-notifications.test.ts → pending-notifications.test.js} +0 -0
- /package/src/{strings.ts → strings.js} +0 -0
- /package/src/test-utils/stubs/{cowStub.ts → cowStub.js} +0 -0
- /package/src/test-utils/stubs/{farmhandStub.tsx → farmhandStub.js} +0 -0
- /package/src/test-utils/stubs/{itemStub.ts → itemStub.js} +0 -0
- /package/src/test-utils/stubs/{peerMetadataStub.ts → peerMetadataStub.js} +0 -0
- /package/src/test-utils/stubs/{saveDataStubFactory.ts → saveDataStubFactory.js} +0 -0
- /package/src/test-utils/{ui.ts → ui.js} +0 -0
- /package/src/utils/__snapshots__/{index.test.ts.snap → index.test.js.snap} +0 -0
- /package/src/utils/{findInField.ts → findInField.js} +0 -0
- /package/src/utils/{findInField.test.ts → findInField.test.js} +0 -0
- /package/src/utils/{getCropLifecycleDuration.test.ts → getCropLifecycleDuration.test.js} +0 -0
- /package/src/utils/{getCropsAvailableToFerment.test.ts → getCropsAvailableToFerment.test.js} +0 -0
- /package/src/utils/{getItemBaseValue.ts → getItemBaseValue.js} +0 -0
- /package/src/utils/{getKegSpoilageRate.ts → getKegSpoilageRate.js} +0 -0
- /package/src/utils/{getKegSpoilageRate.test.ts → getKegSpoilageRate.test.js} +0 -0
- /package/src/utils/{getKegValue.ts → getKegValue.js} +0 -0
- /package/src/utils/{getKegValue.test.ts → getKegValue.test.js} +0 -0
- /package/src/utils/{getLevelEntitlements.test.ts → getLevelEntitlements.test.js} +0 -0
- /package/src/utils/{getMaxYieldOfFermentationRecipe.test.ts → getMaxYieldOfFermentationRecipe.test.js} +0 -0
- /package/src/utils/{getSaltRequirementsForFermentationRecipe.ts → getSaltRequirementsForFermentationRecipe.js} +0 -0
- /package/src/utils/{getWineVarietiesAvailableToMake.test.ts → getWineVarietiesAvailableToMake.test.js} +0 -0
- /package/src/utils/{getYeastRequiredForWine.ts → getYeastRequiredForWine.js} +0 -0
- /package/src/utils/{isItemAGrownCrop.ts → isItemAGrownCrop.js} +0 -0
- /package/src/utils/{levelAchieved.ts → levelAchieved.js} +0 -0
- /package/src/utils/{moneyString.ts → moneyString.js} +0 -0
- /package/src/utils/{moneyString.test.ts → moneyString.test.js} +0 -0
- /package/src/utils/{noop.ts → noop.js} +0 -0
- /package/src/utils/{totalIngredientsInRecipe.test.ts → totalIngredientsInRecipe.test.js} +0 -0
|
@@ -116,7 +116,6 @@ const { CLEANUP, HARVEST, MINE, OBSERVE, WATER, PLANT } = fieldMode
|
|
|
116
116
|
// Utility object for reuse in no-ops to save on memory
|
|
117
117
|
const emptyObject = Object.freeze({})
|
|
118
118
|
|
|
119
|
-
// @ts-expect-error
|
|
120
119
|
export const computePlayerInventory = memoize(
|
|
121
120
|
/**
|
|
122
121
|
* @param {{ id: globalThis.farmhand.item['id'], quantity: number }[]} inventory
|
|
@@ -131,7 +130,6 @@ export const computePlayerInventory = memoize(
|
|
|
131
130
|
}))
|
|
132
131
|
)
|
|
133
132
|
|
|
134
|
-
// @ts-expect-error
|
|
135
133
|
export const getFieldToolInventory = memoize(
|
|
136
134
|
/**
|
|
137
135
|
* @param {globalThis.farmhand.state['inventory']} inventory
|
|
@@ -149,7 +147,6 @@ export const getFieldToolInventory = memoize(
|
|
|
149
147
|
.map(({ id, quantity }) => ({ ...itemsMap[id], quantity }))
|
|
150
148
|
)
|
|
151
149
|
|
|
152
|
-
// @ts-expect-error
|
|
153
150
|
export const getPlantableCropInventory = memoize(
|
|
154
151
|
/**
|
|
155
152
|
* @param {globalThis.farmhand.state['inventory']} inventory
|
|
@@ -257,7 +254,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
257
254
|
viewList.unshift(HOME)
|
|
258
255
|
}
|
|
259
256
|
|
|
260
|
-
// @ts-expect-error
|
|
261
257
|
if (this.isForestUnlocked && features.FOREST) {
|
|
262
258
|
viewList.push(FOREST)
|
|
263
259
|
}
|
|
@@ -308,12 +304,12 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
308
304
|
* @returns {farmhand.state}
|
|
309
305
|
*/
|
|
310
306
|
createInitialState() {
|
|
311
|
-
return /** @type {farmhand.state} */ {
|
|
307
|
+
return /** @type {farmhand.state} */ ({
|
|
312
308
|
activePlayers: null,
|
|
313
309
|
allowCustomPeerCowNames: false,
|
|
314
310
|
cellarInventory: [],
|
|
315
311
|
currentDialogView:
|
|
316
|
-
/** @type {globalThis.farmhand.dialogView} */ dialogView.NONE,
|
|
312
|
+
/** @type {globalThis.farmhand.dialogView} */ (dialogView.NONE),
|
|
317
313
|
completedAchievements: {},
|
|
318
314
|
cowForSale: generateCow(),
|
|
319
315
|
cowBreedingPen: {
|
|
@@ -332,7 +328,7 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
332
328
|
experience: 0,
|
|
333
329
|
farmName: 'Unnamed',
|
|
334
330
|
field: createNewField(),
|
|
335
|
-
fieldMode: /** @type {globalThis.farmhand.fieldMode} */ OBSERVE,
|
|
331
|
+
fieldMode: /** @type {globalThis.farmhand.fieldMode} */ (OBSERVE),
|
|
336
332
|
forest: createNewForest(),
|
|
337
333
|
getCowAccept: noop,
|
|
338
334
|
getCowReject: noop,
|
|
@@ -355,7 +351,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
355
351
|
cellarItemsSold: {},
|
|
356
352
|
isChatOpen: false,
|
|
357
353
|
isDialogViewOpen: false,
|
|
358
|
-
// @ts-expect-error
|
|
359
354
|
isOnline: this.props.match.path.startsWith('/online'),
|
|
360
355
|
isWaitingForDayToCompleteIncrementing: false,
|
|
361
356
|
learnedRecipes: {},
|
|
@@ -380,7 +375,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
380
375
|
recordSingleDayProfit: 0,
|
|
381
376
|
revenue: 0,
|
|
382
377
|
redirect: '',
|
|
383
|
-
// @ts-expect-error
|
|
384
378
|
room: decodeURIComponent(this.props.match.params.room || DEFAULT_ROOM),
|
|
385
379
|
sendCowAccept: noop,
|
|
386
380
|
sendCowReject: noop,
|
|
@@ -395,22 +389,22 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
395
389
|
showHomeScreen: true,
|
|
396
390
|
showNotifications: true,
|
|
397
391
|
stageFocus:
|
|
398
|
-
/** @type {globalThis.farmhand.stageFocusType} */ stageFocusType.HOME,
|
|
392
|
+
/** @type {globalThis.farmhand.stageFocusType} */ (stageFocusType.HOME),
|
|
399
393
|
todaysNotifications: [],
|
|
400
394
|
todaysLosses: 0,
|
|
401
395
|
todaysPurchases: {},
|
|
402
396
|
todaysRevenue: 0,
|
|
403
397
|
todaysStartingInventory: {},
|
|
404
|
-
toolLevels: /** @type {Record<import('../../enums.js').toolType, import('../../enums.js').toolLevel>} */ {
|
|
398
|
+
toolLevels: /** @type {Record<import('../../enums.js').toolType, import('../../enums.js').toolLevel>} */ ({
|
|
405
399
|
[toolType.HOE]: toolLevel.DEFAULT,
|
|
406
400
|
[toolType.SCYTHE]: toolLevel.DEFAULT,
|
|
407
401
|
[toolType.SHOVEL]: toolLevel.UNAVAILABLE,
|
|
408
402
|
[toolType.WATERING_CAN]: toolLevel.DEFAULT,
|
|
409
|
-
},
|
|
403
|
+
}),
|
|
410
404
|
useAlternateEndDayButtonPosition: false,
|
|
411
405
|
valueAdjustments: {},
|
|
412
406
|
version: import.meta.env?.VITE_FARMHAND_PACKAGE_VERSION ?? '',
|
|
413
|
-
}
|
|
407
|
+
})
|
|
414
408
|
}
|
|
415
409
|
|
|
416
410
|
async initializeNewGame() {
|
|
@@ -420,7 +414,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
420
414
|
historicalValueAdjustments: [],
|
|
421
415
|
}))
|
|
422
416
|
|
|
423
|
-
// @ts-expect-error
|
|
424
417
|
this.showNotification(LOAN_INCREASED('', STANDARD_LOAN_AMOUNT), 'info')
|
|
425
418
|
}
|
|
426
419
|
|
|
@@ -466,20 +459,20 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
466
459
|
previousView: this.focusPreviousView.bind(this),
|
|
467
460
|
selectHoe: () =>
|
|
468
461
|
this.handlers.handleFieldModeSelect(
|
|
469
|
-
/** @type {globalThis.farmhand.fieldMode} */ CLEANUP
|
|
462
|
+
/** @type {globalThis.farmhand.fieldMode} */ (CLEANUP)
|
|
470
463
|
),
|
|
471
464
|
selectScythe: () =>
|
|
472
465
|
this.handlers.handleFieldModeSelect(
|
|
473
|
-
/** @type {globalThis.farmhand.fieldMode} */ HARVEST
|
|
466
|
+
/** @type {globalThis.farmhand.fieldMode} */ (HARVEST)
|
|
474
467
|
),
|
|
475
468
|
selectWateringCan: () =>
|
|
476
469
|
this.handlers.handleFieldModeSelect(
|
|
477
|
-
/** @type {globalThis.farmhand.fieldMode} */ WATER
|
|
470
|
+
/** @type {globalThis.farmhand.fieldMode} */ (WATER)
|
|
478
471
|
),
|
|
479
472
|
selectShovel: () => {
|
|
480
473
|
if (this.state.toolLevels[toolType.SHOVEL] !== toolLevel.UNAVAILABLE) {
|
|
481
474
|
this.handlers.handleFieldModeSelect(
|
|
482
|
-
/** @type {globalThis.farmhand.fieldMode} */ MINE
|
|
475
|
+
/** @type {globalThis.farmhand.fieldMode} */ (MINE)
|
|
483
476
|
)
|
|
484
477
|
}
|
|
485
478
|
},
|
|
@@ -513,14 +506,13 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
513
506
|
}
|
|
514
507
|
|
|
515
508
|
async componentDidMount() {
|
|
516
|
-
// @ts-expect-error
|
|
517
509
|
const state = await this.props.localforage.getItem('state')
|
|
518
510
|
|
|
519
511
|
if (state) {
|
|
520
512
|
const sanitizedState = transformStateDataForImport({
|
|
521
513
|
...this.createInitialState(),
|
|
522
514
|
// eslint-disable-next-line
|
|
523
|
-
.../** @type {Partial<farmhand.state>} */ state,
|
|
515
|
+
.../** @type {Partial<farmhand.state>} */ (state),
|
|
524
516
|
})
|
|
525
517
|
const { isCombineEnabled, newDayNotifications } = sanitizedState
|
|
526
518
|
|
|
@@ -528,11 +520,9 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
528
520
|
newDayNotifications.forEach(({ message, severity }) => {
|
|
529
521
|
// Defer these notifications so that notistack doesn't swallow all
|
|
530
522
|
// but the last one.
|
|
531
|
-
// @ts-expect-error
|
|
532
523
|
setTimeout(() => this.showNotification(message, severity), 0)
|
|
533
524
|
|
|
534
525
|
if (isCombineEnabled) {
|
|
535
|
-
// @ts-expect-error
|
|
536
526
|
this.forRange(reducers.harvestPlot, Infinity, 0, 0)
|
|
537
527
|
}
|
|
538
528
|
})
|
|
@@ -567,7 +557,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
567
557
|
}
|
|
568
558
|
|
|
569
559
|
const {
|
|
570
|
-
// @ts-expect-error
|
|
571
560
|
match: {
|
|
572
561
|
path,
|
|
573
562
|
params: { room: newRoom = room },
|
|
@@ -603,7 +592,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
603
592
|
}
|
|
604
593
|
|
|
605
594
|
if (isOnline === false && prevState.isOnline === true) {
|
|
606
|
-
// @ts-expect-error
|
|
607
595
|
this.showNotification(DISCONNECTED_FROM_SERVER, 'info')
|
|
608
596
|
}
|
|
609
597
|
|
|
@@ -630,7 +618,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
630
618
|
}
|
|
631
619
|
|
|
632
620
|
if (money < prevState.money) {
|
|
633
|
-
// @ts-expect-error
|
|
634
621
|
this.setState(({ todaysLosses }) => ({
|
|
635
622
|
todaysLosses: moneyTotal(todaysLosses, money - prevState.money),
|
|
636
623
|
}))
|
|
@@ -638,19 +625,14 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
638
625
|
|
|
639
626
|
if (peerRoom !== prevState.peerRoom) {
|
|
640
627
|
if (peerRoom) {
|
|
641
|
-
// @ts-expect-error
|
|
642
628
|
peerRoom.onPeerJoin(id => {
|
|
643
|
-
// @ts-expect-error
|
|
644
629
|
this.addPeer(id)
|
|
645
630
|
})
|
|
646
631
|
|
|
647
|
-
// @ts-expect-error
|
|
648
632
|
peerRoom.onPeerLeave(id => {
|
|
649
|
-
// @ts-expect-error
|
|
650
633
|
this.removePeer(id)
|
|
651
634
|
})
|
|
652
635
|
|
|
653
|
-
// @ts-expect-error
|
|
654
636
|
const [sendPeerMetadata, getPeerMetadataFunc] = peerRoom.makeAction(
|
|
655
637
|
'peerMetadata'
|
|
656
638
|
)
|
|
@@ -658,12 +640,8 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
658
640
|
getPeerMetadataFunc((
|
|
659
641
|
/** @type {[object, string]} */
|
|
660
642
|
...args
|
|
661
|
-
) =>
|
|
662
|
-
// @ts-expect-error
|
|
663
|
-
handlePeerMetadataRequest(this, ...args)
|
|
664
|
-
)
|
|
643
|
+
) => handlePeerMetadataRequest(this, ...args))
|
|
665
644
|
|
|
666
|
-
// @ts-expect-error
|
|
667
645
|
const [sendCowTradeRequest, getCowTradeRequest] = peerRoom.makeAction(
|
|
668
646
|
'cowTrade'
|
|
669
647
|
)
|
|
@@ -671,32 +649,21 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
671
649
|
getCowTradeRequest((
|
|
672
650
|
/** @type {[object, string]} */
|
|
673
651
|
...args
|
|
674
|
-
) =>
|
|
675
|
-
// @ts-expect-error
|
|
676
|
-
handleCowTradeRequest(this, ...args)
|
|
677
|
-
)
|
|
652
|
+
) => handleCowTradeRequest(this, ...args))
|
|
678
653
|
|
|
679
|
-
// @ts-expect-error
|
|
680
654
|
const [sendCowAccept, getCowAccept] = peerRoom.makeAction('cowAccept')
|
|
681
655
|
|
|
682
656
|
getCowAccept((
|
|
683
657
|
/** @type {[object, string]} */
|
|
684
658
|
...args
|
|
685
|
-
) =>
|
|
686
|
-
// @ts-expect-error
|
|
687
|
-
handleCowTradeRequestAccept(this, ...args)
|
|
688
|
-
)
|
|
659
|
+
) => handleCowTradeRequestAccept(this, ...args))
|
|
689
660
|
|
|
690
|
-
// @ts-expect-error
|
|
691
661
|
const [sendCowReject, getCowReject] = peerRoom.makeAction('cowReject')
|
|
692
662
|
|
|
693
663
|
getCowReject((
|
|
694
664
|
/** @type {[object]} */
|
|
695
665
|
...args
|
|
696
|
-
) =>
|
|
697
|
-
// @ts-expect-error
|
|
698
|
-
handleCowTradeRequestReject(this, ...args)
|
|
699
|
-
)
|
|
666
|
+
) => handleCowTradeRequestReject(this, ...args))
|
|
700
667
|
|
|
701
668
|
this.setState({
|
|
702
669
|
getCowAccept,
|
|
@@ -723,7 +690,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
723
690
|
'showRecipeLearnedNotifications',
|
|
724
691
|
].forEach(fn => this[fn](prevState))
|
|
725
692
|
|
|
726
|
-
// @ts-expect-error
|
|
727
693
|
this.state.sendPeerMetadata?.(this.peerMetadata)
|
|
728
694
|
}
|
|
729
695
|
|
|
@@ -754,13 +720,9 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
754
720
|
tradeForPeerCow(peerPlayerCow) {
|
|
755
721
|
this.setState(state => {
|
|
756
722
|
const {
|
|
757
|
-
// @ts-expect-error
|
|
758
723
|
cowIdOfferedForTrade,
|
|
759
|
-
// @ts-expect-error
|
|
760
724
|
cowInventory,
|
|
761
|
-
// @ts-expect-error
|
|
762
725
|
peers,
|
|
763
|
-
// @ts-expect-error
|
|
764
726
|
sendCowTradeRequest,
|
|
765
727
|
} = state
|
|
766
728
|
|
|
@@ -769,7 +731,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
769
731
|
const { ownerId } = peerPlayerCow
|
|
770
732
|
|
|
771
733
|
const [peerId] =
|
|
772
|
-
// @ts-expect-error
|
|
773
734
|
Object.entries(peers).find(([, peer]) => peer?.playerId === ownerId) ??
|
|
774
735
|
[]
|
|
775
736
|
|
|
@@ -817,7 +778,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
817
778
|
|
|
818
779
|
handleCowTradeTimeout = () => {
|
|
819
780
|
if (typeof this.state.cowTradeTimeoutId === 'number') {
|
|
820
|
-
// @ts-expect-error
|
|
821
781
|
this.showNotification(REQUESTED_COW_TRADE_UNAVAILABLE, 'error')
|
|
822
782
|
this.setState({
|
|
823
783
|
cowTradeTimeoutId: null,
|
|
@@ -829,10 +789,8 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
829
789
|
}
|
|
830
790
|
|
|
831
791
|
async clearPersistedData() {
|
|
832
|
-
// @ts-expect-error
|
|
833
792
|
await this.props.localforage.clear()
|
|
834
793
|
|
|
835
|
-
// @ts-expect-error
|
|
836
794
|
this.showNotification(DATA_DELETED)
|
|
837
795
|
}
|
|
838
796
|
|
|
@@ -843,7 +801,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
843
801
|
return
|
|
844
802
|
}
|
|
845
803
|
|
|
846
|
-
// @ts-expect-error
|
|
847
804
|
this.showNotification(CONNECTING_TO_SERVER, 'info')
|
|
848
805
|
|
|
849
806
|
try {
|
|
@@ -852,7 +809,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
852
809
|
peers: {},
|
|
853
810
|
})
|
|
854
811
|
|
|
855
|
-
// @ts-expect-error
|
|
856
812
|
this.state.peerRoom?.leave()
|
|
857
813
|
|
|
858
814
|
const { valueAdjustments } = await getData(endpoints.getMarketData, {
|
|
@@ -882,14 +838,12 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
882
838
|
),
|
|
883
839
|
})
|
|
884
840
|
|
|
885
|
-
// @ts-expect-error
|
|
886
841
|
this.showNotification(CONNECTED_TO_ROOM('', room), 'success')
|
|
887
842
|
} catch (e) {
|
|
888
843
|
// TODO: Add some reasonable fallback behavior in case the server request
|
|
889
844
|
// fails. Possibility: Regenerate valueAdjustments and notify the user
|
|
890
845
|
// they are offline.
|
|
891
846
|
|
|
892
|
-
// @ts-expect-error
|
|
893
847
|
this.showNotification(SERVER_ERROR, 'error')
|
|
894
848
|
|
|
895
849
|
console.error(e)
|
|
@@ -915,7 +869,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
915
869
|
|
|
916
870
|
this.setState(() => ({
|
|
917
871
|
heartbeatTimeoutId: setTimeout(async () => {
|
|
918
|
-
// @ts-expect-error
|
|
919
872
|
this.setState(({ money, activePlayers }) => ({
|
|
920
873
|
activePlayers,
|
|
921
874
|
money: moneyTotal(money, activePlayers),
|
|
@@ -934,7 +887,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
934
887
|
inventorySpaceRemaining(prevState) > 0 &&
|
|
935
888
|
inventorySpaceRemaining(this.state) <= 0
|
|
936
889
|
) {
|
|
937
|
-
// @ts-expect-error
|
|
938
890
|
this.showNotification(INVENTORY_FULL_NOTIFICATION, 'warning')
|
|
939
891
|
}
|
|
940
892
|
}
|
|
@@ -947,16 +899,13 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
947
899
|
|
|
948
900
|
Object.keys(this.state.learnedRecipes).forEach(recipeId => {
|
|
949
901
|
if (!previousLearnedRecipes.hasOwnProperty(recipeId)) {
|
|
950
|
-
// @ts-expect-error
|
|
951
902
|
learnedRecipes.push(recipesMap[recipeId])
|
|
952
903
|
}
|
|
953
904
|
})
|
|
954
905
|
|
|
955
906
|
if (learnedRecipes.length > 1) {
|
|
956
|
-
// @ts-expect-error
|
|
957
907
|
this.showNotification(RECIPES_LEARNED('', learnedRecipes))
|
|
958
908
|
} else if (learnedRecipes.length === 1) {
|
|
959
|
-
// @ts-expect-error
|
|
960
909
|
this.showNotification(RECIPE_LEARNED('', learnedRecipes[0]))
|
|
961
910
|
}
|
|
962
911
|
}
|
|
@@ -966,7 +915,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
966
915
|
* @return {Promise}
|
|
967
916
|
*/
|
|
968
917
|
persistState(overrides = {}) {
|
|
969
|
-
// @ts-expect-error
|
|
970
918
|
return this.props.localforage.setItem(
|
|
971
919
|
'state',
|
|
972
920
|
reduceByPersistedKeys({
|
|
@@ -1015,13 +963,11 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1015
963
|
).valueAdjustments
|
|
1016
964
|
|
|
1017
965
|
if (Object.keys(positions).length) {
|
|
1018
|
-
// @ts-expect-error
|
|
1019
966
|
serverMessages.push({
|
|
1020
967
|
message: POSITIONS_POSTED_NOTIFICATION('', 'You', positions),
|
|
1021
968
|
severity: 'info',
|
|
1022
969
|
})
|
|
1023
970
|
|
|
1024
|
-
// @ts-expect-error
|
|
1025
971
|
broadcastedPositionMessage = POSITIONS_POSTED_NOTIFICATION(
|
|
1026
972
|
'',
|
|
1027
973
|
'',
|
|
@@ -1030,7 +976,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1030
976
|
}
|
|
1031
977
|
} catch (e) {
|
|
1032
978
|
// NOTE: This will get reached when there's an issue posting data to the server.
|
|
1033
|
-
// @ts-expect-error
|
|
1034
979
|
serverMessages.push({
|
|
1035
980
|
message: SERVER_ERROR,
|
|
1036
981
|
severity: 'error',
|
|
@@ -1075,7 +1020,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1075
1020
|
prev => {
|
|
1076
1021
|
const nextDayState = reducers.computeStateForNextDay(prev, isFirstDay)
|
|
1077
1022
|
|
|
1078
|
-
// @ts-expect-error
|
|
1079
1023
|
pendingNotifications = [
|
|
1080
1024
|
...serverMessages,
|
|
1081
1025
|
...nextDayState.newDayNotifications,
|
|
@@ -1108,13 +1052,11 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1108
1052
|
|
|
1109
1053
|
notifications
|
|
1110
1054
|
.concat(
|
|
1111
|
-
// @ts-expect-error
|
|
1112
1055
|
isFirstDay
|
|
1113
1056
|
? []
|
|
1114
1057
|
: [{ message: PROGRESS_SAVED_MESSAGE, severity: 'info' }]
|
|
1115
1058
|
)
|
|
1116
1059
|
.forEach(({ message, severity }) =>
|
|
1117
|
-
// @ts-expect-error
|
|
1118
1060
|
this.showNotification(message, severity)
|
|
1119
1061
|
)
|
|
1120
1062
|
|
|
@@ -1124,13 +1066,11 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1124
1066
|
await sleep(1000)
|
|
1125
1067
|
}
|
|
1126
1068
|
|
|
1127
|
-
// @ts-expect-error
|
|
1128
1069
|
this.forRange(reducers.harvestPlot, Infinity, 0, 0)
|
|
1129
1070
|
}
|
|
1130
1071
|
} catch (e) {
|
|
1131
1072
|
console.error(e)
|
|
1132
1073
|
|
|
1133
|
-
// @ts-expect-error
|
|
1134
1074
|
this.showNotification(JSON.stringify(e), 'error')
|
|
1135
1075
|
} finally {
|
|
1136
1076
|
this.setState(() => ({
|
|
@@ -1138,7 +1078,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1138
1078
|
}))
|
|
1139
1079
|
|
|
1140
1080
|
if (broadcastedPositionMessage) {
|
|
1141
|
-
// @ts-expect-error
|
|
1142
1081
|
this.messagePeers(broadcastedPositionMessage)
|
|
1143
1082
|
}
|
|
1144
1083
|
}
|
|
@@ -1162,7 +1101,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1162
1101
|
|
|
1163
1102
|
const { viewList } = this
|
|
1164
1103
|
|
|
1165
|
-
// @ts-expect-error
|
|
1166
1104
|
this.setState(({ stageFocus }) => {
|
|
1167
1105
|
const currentViewIndex = viewList.indexOf(stageFocus)
|
|
1168
1106
|
|
|
@@ -1175,7 +1113,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1175
1113
|
|
|
1176
1114
|
const { viewList } = this
|
|
1177
1115
|
|
|
1178
|
-
// @ts-expect-error
|
|
1179
1116
|
this.setState(({ stageFocus }) => {
|
|
1180
1117
|
const currentViewIndex = viewList.indexOf(stageFocus)
|
|
1181
1118
|
|
|
@@ -1195,13 +1132,11 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1195
1132
|
* @param {string?} [severity]
|
|
1196
1133
|
*/
|
|
1197
1134
|
messagePeers(message, severity) {
|
|
1198
|
-
// @ts-expect-error
|
|
1199
1135
|
this.prependPendingPeerMessage(message, severity)
|
|
1200
1136
|
}
|
|
1201
1137
|
|
|
1202
1138
|
render() {
|
|
1203
1139
|
const {
|
|
1204
|
-
// @ts-expect-error
|
|
1205
1140
|
props: { features: propsFeatures },
|
|
1206
1141
|
state: { redirect },
|
|
1207
1142
|
fieldToolInventory,
|
|
@@ -1259,7 +1194,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1259
1194
|
{redirect && <Redirect {...{ to: redirect }} />}
|
|
1260
1195
|
<FarmhandContext.Provider
|
|
1261
1196
|
value={{
|
|
1262
|
-
// @ts-expect-error
|
|
1263
1197
|
gameState,
|
|
1264
1198
|
handlers,
|
|
1265
1199
|
}}
|
|
@@ -1385,7 +1319,6 @@ export default class Farmhand extends FarmhandReducers {
|
|
|
1385
1319
|
}
|
|
1386
1320
|
}
|
|
1387
1321
|
|
|
1388
|
-
// @ts-expect-error
|
|
1389
1322
|
Farmhand.propTypes = {
|
|
1390
1323
|
features: object,
|
|
1391
1324
|
history: object,
|
package/src/components/FermentationRecipeList/{FermentationRecipe.tsx → FermentationRecipe.js}
RENAMED
|
@@ -38,6 +38,7 @@ export const FermentationRecipe = ({ item }) => {
|
|
|
38
38
|
const [quantity, setQuantity] = useState(1)
|
|
39
39
|
|
|
40
40
|
const inventoryQuantityMap = getInventoryQuantityMap(inventory)
|
|
41
|
+
// @ts-expect-error
|
|
41
42
|
const fermentationRecipeName = FERMENTED_CROP_NAME`${item}`
|
|
42
43
|
const { space: cellarSize } = PURCHASEABLE_CELLARS.get(purchasedCellar) ?? {
|
|
43
44
|
space: 0,
|
|
@@ -99,12 +100,10 @@ export const FermentationRecipe = ({ item }) => {
|
|
|
99
100
|
{integerString(inventoryQuantityMap[item.id] ?? 0)}
|
|
100
101
|
</p>
|
|
101
102
|
<p>
|
|
102
|
-
Units of {
|
|
103
|
-
{getSaltRequirementsForFermentationRecipe(item
|
|
104
|
-
(available:{' '}
|
|
103
|
+
Units of {itemsMap.salt.name} required:{' '}
|
|
104
|
+
{getSaltRequirementsForFermentationRecipe(item)} (available:{' '}
|
|
105
105
|
<AnimatedNumber
|
|
106
106
|
{...{
|
|
107
|
-
// @ts-expect-error
|
|
108
107
|
number: inventoryQuantityMap[itemsMap.salt.id] ?? 0,
|
|
109
108
|
formatter: integerString,
|
|
110
109
|
}}
|
|
@@ -27,12 +27,10 @@ export const FermentationRecipeList = () => {
|
|
|
27
27
|
.filter(term => term.length > 0)
|
|
28
28
|
|
|
29
29
|
const filteredCrops = cropsAvailableToFerment.filter(item => {
|
|
30
|
-
// @ts-expect-error
|
|
31
30
|
const fermentationRecipeName = `${FERMENTED_CROP_NAME}${item.name}`.toLowerCase()
|
|
32
31
|
return searchTerms.every(
|
|
33
32
|
term =>
|
|
34
33
|
fermentationRecipeName.includes(term) ||
|
|
35
|
-
// @ts-expect-error
|
|
36
34
|
item.name.toLowerCase().includes(term)
|
|
37
35
|
)
|
|
38
36
|
})
|
|
@@ -54,7 +52,6 @@ export const FermentationRecipeList = () => {
|
|
|
54
52
|
{filteredCrops.length > 0 && (
|
|
55
53
|
<ul className="card-list">
|
|
56
54
|
{filteredCrops.map(item => (
|
|
57
|
-
// @ts-expect-error
|
|
58
55
|
<li key={item.id}>
|
|
59
56
|
<FermentationRecipe item={item} />
|
|
60
57
|
</li>
|
|
@@ -82,17 +82,14 @@ describe('FermentationRecipeList', () => {
|
|
|
82
82
|
await userEvent.type(searchBar, 'apple')
|
|
83
83
|
|
|
84
84
|
const filteredCrops = cropsAvailableToFerment.filter(item => {
|
|
85
|
-
// @ts-expect-error
|
|
86
85
|
const fermentationRecipeName = `Fermented ${item.name}`.toLowerCase()
|
|
87
86
|
return (
|
|
88
87
|
fermentationRecipeName.includes('apple') ||
|
|
89
|
-
// @ts-expect-error
|
|
90
88
|
item.name.toLowerCase().includes('apple')
|
|
91
89
|
)
|
|
92
90
|
})
|
|
93
91
|
|
|
94
92
|
filteredCrops.forEach(crop => {
|
|
95
|
-
// @ts-expect-error
|
|
96
93
|
expect(screen.getByText(crop.name)).toBeInTheDocument()
|
|
97
94
|
})
|
|
98
95
|
|
|
@@ -101,7 +98,6 @@ describe('FermentationRecipeList', () => {
|
|
|
101
98
|
)
|
|
102
99
|
|
|
103
100
|
nonMatchingCrops.forEach(crop => {
|
|
104
|
-
// @ts-expect-error
|
|
105
101
|
const nonMatchingElements = screen.queryAllByText(crop.name)
|
|
106
102
|
expect(nonMatchingElements).toHaveLength(1)
|
|
107
103
|
})
|
|
@@ -123,7 +119,6 @@ describe('FermentationRecipeList', () => {
|
|
|
123
119
|
await userEvent.clear(searchBar)
|
|
124
120
|
|
|
125
121
|
cropsAvailableToFerment.forEach(crop => {
|
|
126
|
-
// @ts-expect-error
|
|
127
122
|
expect(screen.getByText(crop.name)).toBeInTheDocument()
|
|
128
123
|
})
|
|
129
124
|
})
|
|
@@ -49,7 +49,6 @@ const fieldKeyMap = {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
if (tools.shovel) {
|
|
52
|
-
// @ts-expect-error
|
|
53
52
|
fieldKeyMap.selectShovel = tools.shovel.fieldKey
|
|
54
53
|
}
|
|
55
54
|
|
|
@@ -112,14 +111,12 @@ export const MemoPlot = memo(
|
|
|
112
111
|
* @param {number} props.y
|
|
113
112
|
*/
|
|
114
113
|
props => {
|
|
115
|
-
// @ts-expect-error
|
|
116
114
|
const { hoveredPlot, plotContent, setHoveredPlot, x, y } = props
|
|
117
115
|
|
|
118
116
|
return (
|
|
119
117
|
<Plot
|
|
120
118
|
{...{
|
|
121
119
|
hoveredPlot,
|
|
122
|
-
// @ts-expect-error
|
|
123
120
|
isInHoverRange: isInHoverRange(props),
|
|
124
121
|
plotContent,
|
|
125
122
|
setHoveredPlot,
|
|
@@ -130,15 +127,12 @@ export const MemoPlot = memo(
|
|
|
130
127
|
)
|
|
131
128
|
},
|
|
132
129
|
(prev, next) => {
|
|
133
|
-
// @ts-expect-error
|
|
134
130
|
if (isInHoverRange(prev) !== isInHoverRange(next)) {
|
|
135
131
|
return false
|
|
136
132
|
}
|
|
137
133
|
|
|
138
134
|
return (
|
|
139
|
-
// @ts-expect-error
|
|
140
135
|
prev.plotContent === next.plotContent &&
|
|
141
|
-
// @ts-expect-error
|
|
142
136
|
prev.hoveredPlotRangeSize === next.hoveredPlotRangeSize
|
|
143
137
|
)
|
|
144
138
|
}
|
|
@@ -367,6 +361,7 @@ export const Field = props => {
|
|
|
367
361
|
'fertilize-mode': propsFieldMode === FERTILIZE,
|
|
368
362
|
'harvest-mode': propsFieldMode === HARVEST,
|
|
369
363
|
'mine-mode': propsFieldMode === MINE,
|
|
364
|
+
// @ts-expect-error - Unnecessary properties are omitted out of convenience
|
|
370
365
|
'is-inventory-full': !doesInventorySpaceRemain({
|
|
371
366
|
inventory,
|
|
372
367
|
inventoryLimit,
|
|
@@ -32,7 +32,6 @@ const onboardingAchievements = [
|
|
|
32
32
|
achievementsMap['purchase-cow-pen'],
|
|
33
33
|
]
|
|
34
34
|
|
|
35
|
-
// @ts-expect-error
|
|
36
35
|
const getRemainingOnboardingAchievements = memoize(completedAchievements =>
|
|
37
36
|
onboardingAchievements.filter(
|
|
38
37
|
achievement => achievement && !completedAchievements[achievement.id]
|
|
@@ -11,9 +11,7 @@ const randomInt = (min, max) => {
|
|
|
11
11
|
// Taken from:
|
|
12
12
|
// https://github.com/alampros/react-confetti/blob/484bad0a0aaddbcfcc2fb4c1a4a7eeceaa6d4879/stories/snow.story.jsx#L7-L24
|
|
13
13
|
const drawSnowflake = function(ctx) {
|
|
14
|
-
// @ts-expect-error
|
|
15
14
|
const numPoints = this.numPoints || randomInt(3, 4) * 2
|
|
16
|
-
// @ts-expect-error
|
|
17
15
|
this.numPoints = numPoints
|
|
18
16
|
// @ts-expect-error
|
|
19
17
|
const innerRadius = this.radius * 0.2
|
|
@@ -87,12 +87,10 @@ const Inventory = ({
|
|
|
87
87
|
}) => {
|
|
88
88
|
const [searchQuery, setSearchQuery] = useState('')
|
|
89
89
|
const [selectedCategories, setSelectedCategories] = useState(
|
|
90
|
-
/** @type {string[]} */ []
|
|
90
|
+
/** @type {string[]} */ ([])
|
|
91
91
|
)
|
|
92
92
|
const toggleCategory = category => {
|
|
93
|
-
// @ts-expect-error
|
|
94
93
|
setSelectedCategories(prev =>
|
|
95
|
-
// @ts-expect-error
|
|
96
94
|
prev.includes(category)
|
|
97
95
|
? prev.filter(c => c !== category)
|
|
98
96
|
: [...prev, category]
|
|
@@ -100,7 +98,6 @@ const Inventory = ({
|
|
|
100
98
|
}
|
|
101
99
|
|
|
102
100
|
const filteredCategories = Array.from(itemCategories.entries()).reduce(
|
|
103
|
-
// @ts-expect-error
|
|
104
101
|
(filtered, [category, categoryItems]) => {
|
|
105
102
|
const matchingItems = categoryItems.filter(item => {
|
|
106
103
|
const mappedItem = itemsMap[item.id]
|
|
@@ -113,10 +110,8 @@ const Inventory = ({
|
|
|
113
110
|
|
|
114
111
|
if (
|
|
115
112
|
matchingItems.length &&
|
|
116
|
-
// @ts-expect-error
|
|
117
113
|
(!selectedCategories.length || selectedCategories.includes(category))
|
|
118
114
|
) {
|
|
119
|
-
// @ts-expect-error
|
|
120
115
|
filtered.set(category, matchingItems)
|
|
121
116
|
}
|
|
122
117
|
return filtered
|
|
@@ -147,7 +142,6 @@ const Inventory = ({
|
|
|
147
142
|
control={
|
|
148
143
|
<Checkbox
|
|
149
144
|
disabled={isPurchaseView}
|
|
150
|
-
// @ts-expect-error
|
|
151
145
|
checked={selectedCategories.includes(key)}
|
|
152
146
|
onChange={() => toggleCategory(key)}
|
|
153
147
|
/>
|
|
@@ -159,8 +153,7 @@ const Inventory = ({
|
|
|
159
153
|
</AccordionDetails>
|
|
160
154
|
</Accordion>
|
|
161
155
|
)}
|
|
162
|
-
{Array.from(
|
|
163
|
-
// @ts-expect-error
|
|
156
|
+
{Array.from(filteredCategories.entries()).map(
|
|
164
157
|
([category, categoryItems]) =>
|
|
165
158
|
categoryItems.length ? (
|
|
166
159
|
<Fragment key={category}>
|
|
@@ -289,8 +289,7 @@ export const Item = ({
|
|
|
289
289
|
</p>
|
|
290
290
|
)}
|
|
291
291
|
{isPurchaseView &&
|
|
292
|
-
|
|
293
|
-
/** @type {globalThis.farmhand.item} */ item.growsInto && (
|
|
292
|
+
/** @type {globalThis.farmhand.item} */ (item).growsInto && (
|
|
294
293
|
<p>
|
|
295
294
|
Days to mature:{' '}
|
|
296
295
|
{getCropLifecycleDuration(
|