import { grapeVariety } from '../enums.js'

// Plot states
import wateredPlot from './plot-states/watered-plot.png'
import fertilizedPlot from './plot-states/fertilized-plot.png'
import rainbowFertilizedPlot from './plot-states/rainbow-fertilized-plot.png'
import shoveledPlot from './plot-states/shoveled-plot.png'

// Recipes
import bread from './dishes/bread.png'
import burger from './dishes/burger.png'
import butter from './dishes/butter.png'
import carrotSoup from './dishes/carrot-soup.png'
import cheese from './dishes/cheese.png'
import chicknPotPie from './dishes/chickn-pot-pie.png'
import chocolate from './dishes/chocolate.png'
import garlicBread from './dishes/garlic-bread.png'
import garlicFries from './dishes/garlic-fries.png'
import flour from './dishes/flour.png'
import frenchOnionSoup from './dishes/french-onion-soup.png'
import friedTofu from './dishes/fried-tofu.png'
import jackolantern from './items/jackolantern.png'
import hotSauce from './dishes/hot-sauce.png'
import rainbowCheese from './dishes/rainbow-cheese.png'
import salsa from './dishes/salsa.png'
import soyMilk from './dishes/soy-milk.png'
import spicyCheese from './dishes/spicy-cheese.png'
import spicyPickledGarlic from './dishes/spicy-pickled-garlic.png'
import sunButter from './dishes/sun-butter.png'
import chocolateSoyMilk from './dishes/chocolate-soy-milk.png'
import oliveOil from './dishes/olive-oil.png'
import onionRings from './dishes/onion-rings.png'
import popcorn from './dishes/popcorn.png'
import pumpkinPie from './dishes/pumpkin-pie.png'
import salt from './dishes/salt.png'
import summerSalad from './dishes/summer-salad.png'
import sweetPotatoFries from './dishes/sweet-potato-fries.png'
import sweetPotatoPie from './dishes/sweet-potato-pie.png'
import spaghetti from './dishes/spaghetti.png'
import strawberryJam from './dishes/strawberry-jam.png'
import tofu from './dishes/tofu.png'
import vegetableOil from './dishes/vegetable-oil.png'
import yeast from './dishes/yeast.png'

// Wine recipes
import wineGreen from './wines/wine-green.png'
import winePurple from './wines/wine-purple.png'

// Crops
import asparagus from './items/asparagus.png'
import asparagusGrowing1 from './items/asparagus-growing1.png'
import asparagusGrowing2 from './items/asparagus-growing2.png'
import asparagusGrowing3 from './items/asparagus-growing3.png'
import asparagusSeed from './items/asparagus-seed.png'
import carrot from './items/carrot.png'
import carrotGrowing1 from './items/carrot-growing1.png'
import carrotGrowing2 from './items/carrot-growing2.png'
import carrotGrowing3 from './items/carrot-growing3.png'
import carrotSeed from './items/carrot-seed.png'
import garlic from './items/garlic.png'
import garlicGrowing1 from './items/garlic-growing1.png'
import garlicGrowing2 from './items/garlic-growing2.png'
import garlicGrowing3 from './items/garlic-growing3.png'
import garlicSeed from './items/garlic-seed.png'
import grapeSeed from './items/grape-seed.png'
import grapeGreenGrowing1 from './items/grape-green-growing1.png'
import grapePurpleGrowing1 from './items/grape-purple-growing1.png'
import grapeGreen from './items/grape-green.png'
import grapePurple from './items/grape-purple.png'
import jalapeno from './items/jalapeno.png'
import jalapenoGrowing1 from './items/jalapeno-growing1.png'
import jalapenoGrowing2 from './items/jalapeno-growing2.png'
import jalapenoGrowing3 from './items/jalapeno-growing3.png'
import jalapenoSeed from './items/jalapeno-seed.png'
import pea from './items/pea.png'
import peaGrowing1 from './items/pea-growing1.png'
import peaSeed from './items/pea-seed.png'
import pumpkin from './items/pumpkin.png'
import pumpkinGrowing1 from './items/pumpkin-growing1.png'
import pumpkinGrowing2 from './items/pumpkin-growing2.png'
import pumpkinGrowing3 from './items/pumpkin-growing3.png'
import pumpkinGrowing4 from './items/pumpkin-growing4.png'
import pumpkinGrowing5 from './items/pumpkin-growing5.png'
import pumpkinSeed from './items/pumpkin-seed.png'
import spinach from './items/spinach.png'
import spinachGrowing1 from './items/spinach-growing1.png'
import spinachSeed from './items/spinach-seed.png'
import strawberry from './items/strawberry.png'
import strawberryGrowing1 from './items/strawberry-growing1.png'
import strawberrySeed from './items/strawberry-seed.png'
import compost from './items/compost.png'
import corn from './items/corn.png'
import cornGrowing1 from './items/corn-growing1.png'
import cornGrowing2 from './items/corn-growing2.png'
import cornGrowing3 from './items/corn-growing3.png'
import cornGrowing4 from './items/corn-growing4.png'
import cornGrowing5 from './items/corn-growing5.png'
import cornSeed from './items/corn-seed.png'
import potato from './items/potato.png'
import potatoGrowing1 from './items/potato-growing1.png'
import potatoGrowing2 from './items/potato-growing2.png'
import potatoGrowing3 from './items/potato-growing3.png'
import potatoSeed from './items/potato-seed.png'
import sweetPotato from './items/sweet-potato.png'
import sweetPotatoGrowing1 from './items/sweet-potato-growing1.png'
import sweetPotatoGrowing2 from './items/sweet-potato-growing2.png'
import sweetPotatoGrowing3 from './items/sweet-potato-growing3.png'
import sweetPotatoGrowing4 from './items/sweet-potato-growing4.png'
import sweetPotatoSeed from './items/sweet-potato-seed.png'
import olive from './items/olive.png'
import oliveGrowing1 from './items/olive-growing1.png'
import oliveSeed from './items/olive-seed.png'
import onion from './items/onion.png'
import onionGrowing1 from './items/onion-growing1.png'
import onionGrowing2 from './items/onion-growing2.png'
import onionGrowing3 from './items/onion-growing3.png'
import onionSeed from './items/onion-seed.png'
import soybean from './items/soybean.png'
import soybeanGrowing1 from './items/soybean-growing1.png'
import soybeanSeed from './items/soybean-seed.png'
import sunflower from './items/sunflower.png'
import sunflowerGrowing1 from './items/sunflower-growing1.png'
import sunflowerGrowing2 from './items/sunflower-growing2.png'
import sunflowerGrowing3 from './items/sunflower-growing3.png'
import sunflowerGrowing4 from './items/sunflower-growing4.png'
import sunflowerGrowing5 from './items/sunflower-growing5.png'
import sunflowerSeed from './items/sunflower-seed.png'
import watermelon from './items/watermelon.png'
import watermelonGrowing1 from './items/watermelon-growing1.png'
import watermelonSeed from './items/watermelon-seed.png'
import wheat from './items/wheat.png'
import wheatGrowing1 from './items/wheat-growing1.png'
import wheatSeed from './items/wheat-seed.png'
import tomato from './items/tomato.png'
import tomatoGrowing1 from './items/tomato-growing1.png'
import tomatoGrowing2 from './items/tomato-growing2.png'
import tomatoGrowing3 from './items/tomato-growing3.png'
import tomatoGrowing4 from './items/tomato-growing4.png'
import tomatoGrowing5 from './items/tomato-growing5.png'
import tomatoGrowing6 from './items/tomato-growing6.png'
import tomatoSeed from './items/tomato-seed.png'
import fertilizer from './items/fertilizer.png'
import rainbowFertilizer from './items/rainbow-fertilizer.png'
import scarecrow from './items/scarecrow.png'
import sprinkler from './items/sprinkler.png'
import cowFeed from './items/cow-feed.png'
import huggingMachine from './items/hugging-machine.png'
import milk1 from './items/milk-1.png'
import milk2 from './items/milk-2.png'
import milk3 from './items/milk-3.png'
import rainbowMilk1 from './items/rainbow-milk-1.png'
import rainbowMilk2 from './items/rainbow-milk-2.png'
import rainbowMilk3 from './items/rainbow-milk-3.png'
import chocolateMilk from './items/chocolate-milk.png'
import weedYellow from './items/weed-yellow.png'
import weedOrange from './items/weed-orange.png'
import weedPink from './items/weed-pink.png'

// Misc
import inventoryBox from './items/inventory-box.png'
import scarecrowAnimated from './items/scarecrow-animated.gif'
import tumbleweed from './items/tumbleweed.gif'

// Tools
import hoe from './tools/hoe.png'
import hoeBronze from './tools/hoe-bronze.png'
import hoeIron from './tools/hoe-iron.png'
import hoeSilver from './tools/hoe-silver.png'
import hoeGold from './tools/hoe-gold.png'
import scythe from './tools/scythe.png'
import scytheBronze from './tools/scythe-bronze.png'
import scytheIron from './tools/scythe-iron.png'
import scytheSilver from './tools/scythe-silver.png'
import scytheGold from './tools/scythe-gold.png'
import shovel from './tools/shovel.png'
import shovelBronze from './tools/shovel-bronze.png'
import shovelIron from './tools/shovel-iron.png'
import shovelSilver from './tools/shovel-silver.png'
import shovelGold from './tools/shovel-gold.png'
import wateringCan from './tools/watering-can.png'

// Mined resources
import coal from './ores/coal.png'
import stone from './ores/stone.png'
import saltRock from './ores/salt-rock.png'
import bronzeOre from './ores/bronze-ore.png'
import bronzeIngot from './ores/bronze-ingot.png'
import ironOre from './ores/iron-ore.png'
import ironIngot from './ores/iron-ingot.png'
import silverOre from './ores/silver-ore.png'
import silverIngot from './ores/silver-ingot.png'
import goldOre from './ores/gold-ore.png'
import goldIngot from './ores/gold-ingot.png'

// Cows
import rainbowCow from './animals/cows/rainbow-cow.png'
// NOTE: These need to be imported as dataUri strings because the image data is
// programmatically manipulated by the getCowImage utility function.
// @ts-expect-error
import cowVariation1 from './animals/cows/cow-variation-1.png?dataUri'
// @ts-expect-error
import cowVariation2 from './animals/cows/cow-variation-2.png?dataUri'
// @ts-expect-error
import cowVariation3 from './animals/cows/cow-variation-3.png?dataUri'
// @ts-expect-error
import cowVariation4 from './animals/cows/cow-variation-4.png?dataUri'
// @ts-expect-error
import cowVariation5 from './animals/cows/cow-variation-5.png?dataUri'
// @ts-expect-error
import cowVariation6 from './animals/cows/cow-variation-6.png?dataUri'
// @ts-expect-error
import cowVariation7 from './animals/cows/cow-variation-7.png?dataUri'

// @ts-expect-error
export { default as pixel } from './pixel.png?dataUri'

export const plotStates = {
  'watered-plot': wateredPlot,
  'fertilized-plot': fertilizedPlot,
  'rainbow-fertilized-plot': rainbowFertilizedPlot,
  'shoveled-plot': shoveledPlot,
}

const smeltedItems = {
  'bronze-ingot': bronzeIngot,
  'iron-ingot': ironIngot,
  'silver-ingot': silverIngot,
  'gold-ingot': goldIngot,

  // tool upgrades
  'hoe-bronze': hoeBronze,
  'hoe-iron': hoeIron,
  'hoe-silver': hoeSilver,
  'hoe-gold': hoeGold,
  'scythe-bronze': scytheBronze,
  'scythe-iron': scytheIron,
  'scythe-silver': scytheSilver,
  'scythe-gold': scytheGold,
  'shovel-bronze': shovelBronze,
  'shovel-iron': shovelIron,
  'shovel-silver': shovelSilver,
  'shovel-gold': shovelGold,
}

export const craftedItems = {
  'carrot-soup': carrotSoup,
  cheese,
  'chickn-pot-pie': chicknPotPie,
  chocolate,
  'chocolate-soy-milk': chocolateSoyMilk,
  compost,
  bread,
  burger,
  butter,
  fertilizer,
  'french-onion-soup': frenchOnionSoup,
  'fried-tofu': friedTofu,
  'garlic-bread': garlicBread,
  'garlic-fries': garlicFries,
  flour,
  jackolantern,
  'hot-sauce': hotSauce,
  'olive-oil': oliveOil,
  'onion-rings': onionRings,
  popcorn,
  'pumpkin-pie': pumpkinPie,
  rainbowCheese,
  salsa,
  'soy-milk': soyMilk,
  'spicy-cheese': spicyCheese,
  'spicy-pickled-garlic': spicyPickledGarlic,
  spaghetti,
  'strawberry-jam': strawberryJam,
  salt,
  'summer-salad': summerSalad,
  'sun-butter': sunButter,
  'sweet-potato-fries': sweetPotatoFries,
  'sweet-potato-pie': sweetPotatoPie,
  tofu,
  'vegetable-oil': vegetableOil,
  yeast,
  ...smeltedItems,
}

export const items = {
  // Crops
  asparagus,
  'asparagus-growing-1': asparagusGrowing1,
  'asparagus-growing-2': asparagusGrowing2,
  'asparagus-growing-3': asparagusGrowing3,
  'asparagus-seed': asparagusSeed,
  carrot,
  'carrot-growing-1': carrotGrowing1,
  'carrot-growing-2': carrotGrowing2,
  'carrot-growing-3': carrotGrowing3,
  'carrot-seed': carrotSeed,
  garlic,
  'garlic-growing-1': garlicGrowing1,
  'garlic-growing-2': garlicGrowing2,
  'garlic-growing-3': garlicGrowing3,
  'garlic-seed': garlicSeed,
  'grape-seed': grapeSeed,
  'grape-cabernet-sauvignon': grapePurple,
  'grape-cabernet-sauvignon-growing-1': grapePurpleGrowing1,
  'grape-cabernet-sauvignon-seed': grapeSeed,
  'grape-chardonnay': grapeGreen,
  'grape-chardonnay-growing-1': grapeGreenGrowing1,
  'grape-chardonnay-seed': grapeSeed,
  // 'grape-merlot': grapePurple,
  // 'grape-merlot-growing-1': grapePurpleGrowing1,
  // 'grape-merlot-seed': grapeSeed,
  // 'grape-muscat': grapeGreen,
  // 'grape-muscat-growing-1': grapeGreenGrowing1,
  // 'grape-muscat-seed': grapeSeed,
  'grape-nebbiolo': grapePurple,
  'grape-nebbiolo-growing-1': grapePurpleGrowing1,
  'grape-nebbiolo-seed': grapeSeed,
  // 'grape-pinot-blanc': grapeGreen,
  // 'grape-pinot-blanc-growing-1': grapeGreenGrowing1,
  // 'grape-pinot-blanc-seed': grapeSeed,
  // 'grape-riesling': grapeGreen,
  // 'grape-riesling-growing-1': grapeGreenGrowing1,
  // 'grape-riesling-seed': grapeSeed,
  'grape-sauvignon-blanc': grapeGreen,
  'grape-sauvignon-blanc-growing-1': grapeGreenGrowing1,
  'grape-sauvignon-blanc-seed': grapeSeed,
  // 'grape-syrah': grapePurple,
  // 'grape-syrah-growing-1': grapePurpleGrowing1,
  // 'grape-syrah-seed': grapeSeed,
  'grape-tempranillo': grapePurple,
  'grape-tempranillo-growing-1': grapePurpleGrowing1,
  'grape-tempranillo-seed': grapeSeed,
  jalapeno,
  'jalapeno-growing-1': jalapenoGrowing1,
  'jalapeno-growing-2': jalapenoGrowing2,
  'jalapeno-growing-3': jalapenoGrowing3,
  'jalapeno-seed': jalapenoSeed,
  pumpkin,
  'pumpkin-growing-1': pumpkinGrowing1,
  'pumpkin-growing-2': pumpkinGrowing2,
  'pumpkin-growing-3': pumpkinGrowing3,
  'pumpkin-growing-4': pumpkinGrowing4,
  'pumpkin-growing-5': pumpkinGrowing5,
  'pumpkin-seed': pumpkinSeed,
  pea,
  'pea-growing-1': peaGrowing1,
  'pea-seed': peaSeed,
  spinach,
  'spinach-growing-1': spinachGrowing1,
  'spinach-seed': spinachSeed,
  corn,
  'corn-growing-1': cornGrowing1,
  'corn-growing-2': cornGrowing2,
  'corn-growing-3': cornGrowing3,
  'corn-growing-4': cornGrowing4,
  'corn-growing-5': cornGrowing5,
  'corn-seed': cornSeed,
  potato,
  'potato-growing-1': potatoGrowing1,
  'potato-growing-2': potatoGrowing2,
  'potato-growing-3': potatoGrowing3,
  'potato-seed': potatoSeed,
  olive,
  'olive-growing-1': oliveGrowing1,
  'olive-seed': oliveSeed,
  onion,
  'onion-growing-1': onionGrowing1,
  'onion-growing-2': onionGrowing2,
  'onion-growing-3': onionGrowing3,
  'onion-seed': onionSeed,
  soybean,
  'soybean-growing-1': soybeanGrowing1,
  'soybean-seed': soybeanSeed,
  'sweet-potato': sweetPotato,
  'sweet-potato-growing-1': sweetPotatoGrowing1,
  'sweet-potato-growing-2': sweetPotatoGrowing2,
  'sweet-potato-growing-3': sweetPotatoGrowing3,
  'sweet-potato-growing-4': sweetPotatoGrowing4,
  'sweet-potato-seed': sweetPotatoSeed,
  wheat,
  'wheat-growing-1': wheatGrowing1,
  'wheat-seed': wheatSeed,
  tomato,
  'tomato-growing-1': tomatoGrowing1,
  'tomato-growing-2': tomatoGrowing2,
  'tomato-growing-3': tomatoGrowing3,
  'tomato-growing-4': tomatoGrowing4,
  'tomato-growing-5': tomatoGrowing5,
  'tomato-growing-6': tomatoGrowing6,
  'tomato-seed': tomatoSeed,
  strawberry,
  'strawberry-growing-1': strawberryGrowing1,
  'strawberry-seed': strawberrySeed,
  sunflower,
  'sunflower-growing-1': sunflowerGrowing1,
  'sunflower-growing-2': sunflowerGrowing2,
  'sunflower-growing-3': sunflowerGrowing3,
  'sunflower-growing-4': sunflowerGrowing4,
  'sunflower-growing-5': sunflowerGrowing5,
  'sunflower-seed': sunflowerSeed,
  watermelon,
  'watermelon-growing-1': watermelonGrowing1,
  'watermelon-seed': watermelonSeed,
  weed: weedPink, // this one is used for the inventory
  'weed-yellow': weedYellow,
  'weed-orange': weedOrange,
  'weed-pink': weedPink,

  // Ores
  coal,
  stone,
  'salt-rock': saltRock,
  'bronze-ore': bronzeOre,
  'iron-ore': ironOre,
  'silver-ore': silverOre,
  'gold-ore': goldOre,

  // Field tools
  'rainbow-fertilizer': rainbowFertilizer,
  scarecrow,
  sprinkler,

  // Cow items
  'cow-feed': cowFeed,
  'hugging-machine': huggingMachine,
  'milk-1': milk1,
  'milk-2': milk2,
  'milk-3': milk3,
  'rainbow-milk-1': rainbowMilk1,
  'rainbow-milk-2': rainbowMilk2,
  'rainbow-milk-3': rainbowMilk3,
  'chocolate-milk': chocolateMilk,

  // Miscellaneous
  'scarecrow-animated': scarecrowAnimated,
  'inventory-box': inventoryBox,
  tumbleweed,

  ...craftedItems,
}

/**
 * @type {Record<grapeVariety, string>}
 */
export const wines = {
  [grapeVariety.CHARDONNAY]: wineGreen,
  [grapeVariety.SAUVIGNON_BLANC]: wineGreen,
  //[grapeVariety.PINOT_BLANC]: wineGreen,
  //[grapeVariety.MUSCAT]: wineGreen,
  //[grapeVariety.RIESLING]: wineGreen,
  //[grapeVariety.MERLOT]: winePurple,
  [grapeVariety.CABERNET_SAUVIGNON]: winePurple,
  //[grapeVariety.SYRAH]: winePurple,
  [grapeVariety.TEMPRANILLO]: winePurple,
  [grapeVariety.NEBBIOLO]: winePurple,
}

export const tools = {
  hoe,
  scythe,
  shovel,
  'watering-can': wateringCan,
}

export const animals = {
  cow: {
    rainbow: rainbowCow,
    variations: [
      cowVariation1,
      cowVariation2,
      cowVariation3,
      cowVariation4,
      cowVariation5,
      cowVariation6,
      cowVariation7,
    ],
  },
}
