class Courses::FrontEndFundamentals < Courses::Course
  include Singleton

  def slug = "front-end-fundamentals"
  def template_slug = "front_end_fundamentals"
  def name = "Front-End Fundamentals"
  def full_price = 99.99
  def self.url = instance.url

  # rubocop:disable Layout/LineLength
  def description = "Add front-end skills to your coding repertoire. Designed for people with a solid grasp of coding basics. No web-dev experience required!"

  def blurb = Markdown::Parse.(
    "Add front-end skills to your coding repertoire. Designed for people **with a solid grasp of coding basics**. No web-dev experience required!"
  )
  # rubocop:enable Layout/LineLength

  def enable_for_user!(user)
    user.update!(bootcamp_attendee: true)
    User::SetDiscordRoles.defer(user)
    User::SetDiscourseGroups.defer(user)

    user.create_bootcamp_data! unless user.bootcamp_data
    user.bootcamp_data.update!(
      enrolled_on_part_2: true,
      part_2_level_idx: 11,
      active_part: 2
    )
  end

  def stripe_prices = STRIPE_PRICES

  STRIPE_PRICES = {
    "DEFAULT" => { dollars: 99.00, stripe_id: "price_1R5AsFEoOT0Jqx0U70VekRf2" },
    "AE" => { dollars: 54.99, stripe_id: "price_1R5AyzEoOT0Jqx0UQKg6qBoY" },
    "AF" => { dollars: 24.99, stripe_id: "price_1R5AzYEoOT0Jqx0UQp8Eo8fw" },
    "AG" => { dollars: 64.99, stripe_id: "price_1R5AysEoOT0Jqx0UCKe7yg3I" },
    "AI" => { dollars: 69.99, stripe_id: "price_1R5AyoEoOT0Jqx0ULhBPr1zk" },
    "AL" => { dollars: 39.99, stripe_id: "price_1R5Az9EoOT0Jqx0UfhOMG37g" },
    "AM" => { dollars: 34.99, stripe_id: "price_1R5AzGEoOT0Jqx0Up5LgJL0r" },
    "AO" => { dollars: 24.99, stripe_id: "price_1R5AzXEoOT0Jqx0UUqgWOjSK" },
    "AR" => { dollars: 19.99, stripe_id: "price_1R5AzbEoOT0Jqx0UHZpFOHnE" },
    "AS" => { dollars: 79.99, stripe_id: "price_1R5AyjEoOT0Jqx0UsRfcRLxf" },
    "AW" => { dollars: 69.99, stripe_id: "price_1R5AypEoOT0Jqx0Ug1brkDfr" },
    "AZ" => { dollars: 34.99, stripe_id: "price_1R5AzMEoOT0Jqx0U3oWGpr59" },
    "BA" => { dollars: 34.99, stripe_id: "price_1R5AzJEoOT0Jqx0Ug1xHmpJ9" },
    "BD" => { dollars: 24.99, stripe_id: "price_1R5AzWEoOT0Jqx0UdTkvZbgb" },
    "BG" => { dollars: 39.99, stripe_id: "price_1R5AzCEoOT0Jqx0U8V979ENi" },
    "BH" => { dollars: 44.99, stripe_id: "price_1R5Az5EoOT0Jqx0U1Ooir7YN" },
    "BI" => { dollars: 24.99, stripe_id: "price_1R5AzVEoOT0Jqx0UO8kQMXH0" },
    "BJ" => { dollars: 34.99, stripe_id: "price_1R5AzMEoOT0Jqx0Um60us3WU" },
    "BL" => { dollars: 69.99, stripe_id: "price_1R5AymEoOT0Jqx0UOI1fLJgi" },
    "BN" => { dollars: 39.99, stripe_id: "price_1R5AzEEoOT0Jqx0UC4gKpRel" },
    "BO" => { dollars: 39.99, stripe_id: "price_1R5Az8EoOT0Jqx0UGOHISy6B" },
    "BR" => { dollars: 39.99, stripe_id: "price_1R5Az9EoOT0Jqx0UZ138lykW" },
    "BS" => { dollars: 79.99, stripe_id: "price_1R5AygEoOT0Jqx0UPAPMc9bb" },
    "BT" => { dollars: 24.99, stripe_id: "price_1R5AzXEoOT0Jqx0UcwpaVCR9" },
    "BW" => { dollars: 37.64, stripe_id: "price_1R5AzHEoOT0Jqx0UHmgoS67z" },
    "BY" => { dollars: 24.99, stripe_id: "price_1R5AzWEoOT0Jqx0UubdNuBiA" },
    "CD" => { dollars: 34.99, stripe_id: "price_1R5AzOEoOT0Jqx0UvQAEegt6" },
    "CF" => { dollars: 39.99, stripe_id: "price_1R5AzDEoOT0Jqx0UwePrZ4Ie" },
    "CG" => { dollars: 34.99, stripe_id: "price_1R5AzKEoOT0Jqx0UTfhyYcud" },
    "CI" => { dollars: 34.99, stripe_id: "price_1R5AzLEoOT0Jqx0UW4FDlepe" },
    "CK" => { dollars: 79.99, stripe_id: "price_1R5AyjEoOT0Jqx0USHqZuD5h" },
    "CL" => { dollars: 44.99, stripe_id: "price_1R5Az6EoOT0Jqx0UJlvTQmOL" },
    "CM" => { dollars: 29.99, stripe_id: "price_1R5AzREoOT0Jqx0UqPcYMN0w" },
    "CN" => { dollars: 49.99, stripe_id: "price_1R5Az1EoOT0Jqx0UCXp3PJg3" },
    "CO" => { dollars: 29.99, stripe_id: "price_1R5AzPEoOT0Jqx0UbOkneKz8" },
    "CR" => { dollars: 39.99, stripe_id: "price_1R5Az8EoOT0Jqx0UhT9g9OFq" },
    "CU" => { dollars: 69.99, stripe_id: "price_1R5AyoEoOT0Jqx0UGVFnucT8" },
    "CV" => { dollars: 49.99, stripe_id: "price_1R5Az4EoOT0Jqx0UIEGypCtV" },
    "CW" => { dollars: 69.99, stripe_id: "price_1R5AyrEoOT0Jqx0UglXx7BZ5" },
    "CY" => { dollars: 59.99, stripe_id: "price_1R5AyuEoOT0Jqx0UIOpWGoVP" },
    "CZ" => { dollars: 49.99, stripe_id: "price_1R5Az0EoOT0Jqx0UywBWJePH" },
    "DJ" => { dollars: 49.99, stripe_id: "price_1R5Az3EoOT0Jqx0UnfQo0qkW" },
    "DM" => { dollars: 49.99, stripe_id: "price_1R5Az2EoOT0Jqx0UVsLuhxGz" },
    "DO" => { dollars: 39.99, stripe_id: "price_1R5AzFEoOT0Jqx0UXtl4Z5op" },
    "DZ" => { dollars: 29.99, stripe_id: "price_1R5AzREoOT0Jqx0UPkqpAdZ8" },
    "EC" => { dollars: 39.99, stripe_id: "price_1R5AzDEoOT0Jqx0UgT2lkkby" },
    "EE" => { dollars: 59.99, stripe_id: "price_1R5AyuEoOT0Jqx0Uu8iwOUjs" },
    "EG" => { dollars: 19.99, stripe_id: "price_1R5AzdEoOT0Jqx0UaKg17C5O" },
    "ES" => { dollars: 69.99, stripe_id: "price_1R5AyrEoOT0Jqx0UJwsG9X2q" },
    "ET" => { dollars: 19.99, stripe_id: "price_1R5AzaEoOT0Jqx0Ui2ORw9Ld" },
    "FJ" => { dollars: 39.99, stripe_id: "price_1R5AzEEoOT0Jqx0UucyVoIZb" },
    "GD" => { dollars: 69.99, stripe_id: "price_1R5AynEoOT0Jqx0UI5kxaqF9" },
    "GE" => { dollars: 29.99, stripe_id: "price_1R5AzREoOT0Jqx0UXdc1wX36" },
    "GH" => { dollars: 19.99, stripe_id: "price_1R5AzZEoOT0Jqx0UADVGgimf" },
    "GM" => { dollars: 24.99, stripe_id: "price_1R5AzXEoOT0Jqx0Ub2Lc47f3" },
    "GN" => { dollars: 39.99, stripe_id: "price_1R5AzGEoOT0Jqx0UyuYzw3HD" },
    "GP" => { dollars: 69.99, stripe_id: "price_1R5AynEoOT0Jqx0UvCCWC3nZ" },
    "GQ" => { dollars: 37.55, stripe_id: "price_1R5AzHEoOT0Jqx0UiS1NLgcD" },
    "GR" => { dollars: 59.99, stripe_id: "price_1R5AywEoOT0Jqx0UOA3v45Bh" },
    "GS" => { dollars: 69.99, stripe_id: "price_1R5AykEoOT0Jqx0UYCGJZlnR" },
    "GT" => { dollars: 39.99, stripe_id: "price_1R5AzBEoOT0Jqx0UMwawtrVx" },
    "GY" => { dollars: 34.99, stripe_id: "price_1R5AzIEoOT0Jqx0UGeNSzmVq" },
    "HK" => { dollars: 69.99, stripe_id: "price_1R5AyqEoOT0Jqx0U69rb2U4c" },
    "HN" => { dollars: 39.99, stripe_id: "price_1R5Az9EoOT0Jqx0UjIaI08vW" },
    "HR" => { dollars: 44.99, stripe_id: "price_1R5Az5EoOT0Jqx0UsGpJBsc1" },
    "HT" => { dollars: 54.99, stripe_id: "price_1R5AyyEoOT0Jqx0UIECNeYff" },
    "HU" => { dollars: 44.99, stripe_id: "price_1R5Az5EoOT0Jqx0UvD7G5Fwp" },
    "ID" => { dollars: 29.99, stripe_id: "price_1R5AzTEoOT0Jqx0U1ctyUS19" },
    "IN" => { dollars: 24.99, stripe_id: "price_1R5AzVEoOT0Jqx0USvqmyRQl" },
    "IQ" => { dollars: 44.99, stripe_id: "price_1R5Az8EoOT0Jqx0U8tmjpAW0" },
    "IT" => { dollars: 69.99, stripe_id: "price_1R5AyqEoOT0Jqx0UP8K4qvYZ" },
    "JM" => { dollars: 54.99, stripe_id: "price_1R5AyxEoOT0Jqx0Upz7EjxNJ" },
    "JO" => { dollars: 39.99, stripe_id: "price_1R5AzAEoOT0Jqx0UXIW90bAg" },
    "JP" => { dollars: 59.99, stripe_id: "price_1R5AytEoOT0Jqx0UfTWmn0Dy" },
    "KE" => { dollars: 44.99, stripe_id: "price_1R5Az7EoOT0Jqx0UaLJV2uyi" },
    "KG" => { dollars: 24.99, stripe_id: "price_1R5AzWEoOT0Jqx0Uaz3NQztt" },
    "KH" => { dollars: 34.99, stripe_id: "price_1R5AzMEoOT0Jqx0Uo2Yqt90o" },
    "KI" => { dollars: 59.99, stripe_id: "price_1R5AyvEoOT0Jqx0UvPp2K4re" },
    "KM" => { dollars: 39.99, stripe_id: "price_1R5AzBEoOT0Jqx0UfFbv9BfN" },
    "KN" => { dollars: 69.99, stripe_id: "price_1R5AylEoOT0Jqx0U39UUDStm" },
    "KR" => { dollars: 59.99, stripe_id: "price_1R5AyxEoOT0Jqx0UUmNAqbhl" },
    "KW" => { dollars: 64.99, stripe_id: "price_1R5AysEoOT0Jqx0UAGcmOGVu" },
    "KY" => { dollars: 69.99, stripe_id: "price_1R5AyoEoOT0Jqx0UmEtacXPw" },
    "KZ" => { dollars: 29.99, stripe_id: "price_1R5AzSEoOT0Jqx0UsIhizYXy" },
    "LA" => { dollars: 19.99, stripe_id: "price_1R5AzbEoOT0Jqx0UgDNc1B9c" },
    "LB" => { dollars: 19.99, stripe_id: "price_1R5AzdEoOT0Jqx0UJ7oPMDSO" },
    "LC" => { dollars: 69.99, stripe_id: "price_1R5AylEoOT0Jqx0UEj3t8bRW" },
    "LK" => { dollars: 19.99, stripe_id: "price_1R5AzaEoOT0Jqx0Uzd9xvLdb" },
    "LS" => { dollars: 34.99, stripe_id: "price_1R5AzPEoOT0Jqx0UolbdjsXD" },
    "LT" => { dollars: 49.99, stripe_id: "price_1R5Az0EoOT0Jqx0U75bpa0y3" },
    "LV" => { dollars: 54.99, stripe_id: "price_1R5AyzEoOT0Jqx0Uc4Bhsnum" },
    "LY" => { dollars: 37.06, stripe_id: "price_1R5AzIEoOT0Jqx0UUWU67nDs" },
    "MA" => { dollars: 39.99, stripe_id: "price_1R5AzFEoOT0Jqx0UPDIQnJri" },
    "MD" => { dollars: 39.99, stripe_id: "price_1R5AzEEoOT0Jqx0U2gTzKQ7M" },
    "ME" => { dollars: 39.99, stripe_id: "price_1R5AzFEoOT0Jqx0UJNnMXHB0" },
    "MF" => { dollars: 69.99, stripe_id: "price_1R5AylEoOT0Jqx0U16c09teY" },
    "MK" => { dollars: 29.99, stripe_id: "price_1R5AzPEoOT0Jqx0UfjCwI6Hq" },
    "ML" => { dollars: 34.99, stripe_id: "price_1R5AzOEoOT0Jqx0U3Cmvrywp" },
    "MM" => { dollars: 19.99, stripe_id: "price_1R5AzbEoOT0Jqx0UmqHzfV7J" },
    "MN" => { dollars: 29.99, stripe_id: "price_1R5AzQEoOT0Jqx0UPL2xjjac" },
    "MO" => { dollars: 59.99, stripe_id: "price_1R5AywEoOT0Jqx0UiAjaB5IX" },
    "MQ" => { dollars: 69.99, stripe_id: "price_1R5AymEoOT0Jqx0UqbCO87jZ" },
    "MR" => { dollars: 29.99, stripe_id: "price_1R5AzTEoOT0Jqx0UmRlb1sf6" },
    "MS" => { dollars: 69.99, stripe_id: "price_1R5AymEoOT0Jqx0UtVguFepl" },
    "MT" => { dollars: 59.99, stripe_id: "price_1R5AyuEoOT0Jqx0UO9be7T0d" },
    "MU" => { dollars: 34.99, stripe_id: "price_1R5AzKEoOT0Jqx0U5ZS3jQTk" },
    "MV" => { dollars: 49.99, stripe_id: "price_1R5Az1EoOT0Jqx0UMX7wRGrN" },
    "MX" => { dollars: 49.99, stripe_id: "price_1R5Az3EoOT0Jqx0UYZYqDqzM" },
    "MY" => { dollars: 34.99, stripe_id: "price_1R5AzOEoOT0Jqx0USamcC7uw" },
    "MZ" => { dollars: 34.99, stripe_id: "price_1R5AzJEoOT0Jqx0UiwmxyzMw" },
    "NA" => { dollars: 39.99, stripe_id: "price_1R5AzCEoOT0Jqx0Um0wFBirW" },
    "NE" => { dollars: 19.99, stripe_id: "price_1R5AzcEoOT0Jqx0US5TKwyHr" },
    "NG" => { dollars: 19.99, stripe_id: "price_1R5AzcEoOT0Jqx0UKVomg6EO" },
    "NI" => { dollars: 29.99, stripe_id: "price_1R5AzSEoOT0Jqx0UpxOnvUGC" },
    "NP" => { dollars: 24.99, stripe_id: "price_1R5AzVEoOT0Jqx0UI5IkogJf" },
    "NU" => { dollars: 79.99, stripe_id: "price_1R5AyiEoOT0Jqx0UqnFeyPQC" },
    "OM" => { dollars: 44.99, stripe_id: "price_1R5Az7EoOT0Jqx0UgXrIHzGW" },
    "PA" => { dollars: 44.99, stripe_id: "price_1R5Az6EoOT0Jqx0Uk49soLXB" },
    "PE" => { dollars: 49.99, stripe_id: "price_1R5Az2EoOT0Jqx0UdZ8hwp6A" },
    "PF" => { dollars: 79.99, stripe_id: "price_1R5AyiEoOT0Jqx0Uokms3QNE" },
    "PG" => { dollars: 59.99, stripe_id: "price_1R5AyvEoOT0Jqx0UScVq6XCt" },
    "PH" => { dollars: 34.99, stripe_id: "price_1R5AzNEoOT0Jqx0UiXIUAXDG" },
    "PK" => { dollars: 19.99, stripe_id: "price_1R5AzaEoOT0Jqx0UZp9U65ug" },
    "PL" => { dollars: 44.99, stripe_id: "price_1R5Az4EoOT0Jqx0UtloNqzEg" },
    "PN" => { dollars: 79.99, stripe_id: "price_1R5AyhEoOT0Jqx0Ub038R1Gy" },
    "PR" => { dollars: 79.99, stripe_id: "price_1R5AykEoOT0Jqx0UHyjEvQaA" },
    "PS" => { dollars: 19.99, stripe_id: "price_1R5AzdEoOT0Jqx0UAZ7u9ZoG" },
    "PT" => { dollars: 54.99, stripe_id: "price_1R5AyxEoOT0Jqx0UGbXlDIpU" },
    "PW" => { dollars: 79.99, stripe_id: "price_1R5AyfEoOT0Jqx0UDV2E9drt" },
    "PY" => { dollars: 24.99, stripe_id: "price_1R5AzYEoOT0Jqx0UAQob9u9O" },
    "QA" => { dollars: 69.99, stripe_id: "price_1R5AypEoOT0Jqx0UNm8N3MBK" },
    "RO" => { dollars: 39.99, stripe_id: "price_1R5AzGEoOT0Jqx0U4RkIXyR6" },
    "RS" => { dollars: 39.99, stripe_id: "price_1R5AzDEoOT0Jqx0Uu6VB7Ejj" },
    "RW" => { dollars: 24.99, stripe_id: "price_1R5AzUEoOT0Jqx0UZKvftgUP" },
    "SA" => { dollars: 49.99, stripe_id: "price_1R5Az3EoOT0Jqx0U67AyQ1tA" },
    "SB" => { dollars: 69.99, stripe_id: "price_1R5AypEoOT0Jqx0UsdFxxm9Z" },
    "SC" => { dollars: 54.99, stripe_id: "price_1R5Az0EoOT0Jqx0UxJeQqxPb" },
    "SD" => { dollars: 19.99, stripe_id: "price_1R5AzfEoOT0Jqx0U2Ym0wzra" },
    "SG" => { dollars: 59.99, stripe_id: "price_1R5AytEoOT0Jqx0UrrMi25Fu" },
    "SI" => { dollars: 59.99, stripe_id: "price_1R5AywEoOT0Jqx0U1dC85jfB" },
    "SK" => { dollars: 54.99, stripe_id: "price_1R5AyzEoOT0Jqx0UtYWMWhMU" },
    "SN" => { dollars: 34.99, stripe_id: "price_1R5AzKEoOT0Jqx0ULXalPidN" },
    "SR" => { dollars: 36.86, stripe_id: "price_1R5AzIEoOT0Jqx0UxjRTNNTG" },
    "SV" => { dollars: 39.99, stripe_id: "price_1R5AzAEoOT0Jqx0UXOP3WRJb" },
    "SX" => { dollars: 69.99, stripe_id: "price_1R5AykEoOT0Jqx0UQ5UEpVTT" },
    "SZ" => { dollars: 34.99, stripe_id: "price_1R5AzNEoOT0Jqx0UWz4EdPLC" },
    "TD" => { dollars: 34.99, stripe_id: "price_1R5AzJEoOT0Jqx0UUmZ5dhUM" },
    "TH" => { dollars: 29.99, stripe_id: "price_1R5AzQEoOT0Jqx0UOpMbehO5" },
    "TK" => { dollars: 79.99, stripe_id: "price_1R5AygEoOT0Jqx0UkTt2WaC5" },
    "TL" => { dollars: 29.99, stripe_id: "price_1R5AzQEoOT0Jqx0U94rOax1x" },
    "TN" => { dollars: 29.99, stripe_id: "price_1R5AzTEoOT0Jqx0UbrtVsSog" },
    "TO" => { dollars: 64.99, stripe_id: "price_1R5AytEoOT0Jqx0URorO5QXu" },
    "TR" => { dollars: 19.99, stripe_id: "price_1R5AzZEoOT0Jqx0UbWZmF2l5" },
    "TT" => { dollars: 54.99, stripe_id: "price_1R5AyyEoOT0Jqx0UWC3BuOTH" },
    "TZ" => { dollars: 24.99, stripe_id: "price_1R5AzUEoOT0Jqx0UsUpypGzs" },
    "UA" => { dollars: 24.99, stripe_id: "price_1R5AzUEoOT0Jqx0UCQ5ntgzD" },
    "UG" => { dollars: 34.99, stripe_id: "price_1R5AzNEoOT0Jqx0U4W7BSkcN" },
    "UY" => { dollars: 69.99, stripe_id: "price_1R5AyqEoOT0Jqx0US3wrSOIE" },
    "UZ" => { dollars: 19.99, stripe_id: "price_1R5AzeEoOT0Jqx0Ub7qY9SDV" },
    "VC" => { dollars: 49.99, stripe_id: "price_1R5Az1EoOT0Jqx0U4HgRDviZ" },
    "VE" => { dollars: 29.99, stripe_id: "price_1R5AzeEoOT0Jqx0UhWuNcQQT" },
    "VN" => { dollars: 34.99, stripe_id: "price_1R5AzLEoOT0Jqx0U6eTxMUz7" },
    "WF" => { dollars: 79.99, stripe_id: "price_1R5AygEoOT0Jqx0UZdEN8ssj" },
    "WS" => { dollars: 79.99, stripe_id: "price_1R5AyhEoOT0Jqx0UTerwT0x5" },
    "ZA" => { dollars: 39.99, stripe_id: "price_1R5AzBEoOT0Jqx0Uu3btnaKS" },
    "ZM" => { dollars: 24.99, stripe_id: "price_1R5AzYEoOT0Jqx0UZ723l7uh" }
  }.freeze
end
