spree_frontend 4.1.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +120 -0
  3. data/.codeclimate.yml +36 -0
  4. data/.deepsource.toml +19 -0
  5. data/.editorconfig +22 -0
  6. data/.eslintignore +7 -0
  7. data/.eslintrc +36 -0
  8. data/.gem_release.yml +7 -0
  9. data/.github/CONTRIBUTING.md +1 -0
  10. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  11. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  12. data/.github/ISSUE_TEMPLATE.md +39 -0
  13. data/.github/dependabot.yml +32 -0
  14. data/.gitignore +58 -0
  15. data/.rubocop.yml +197 -0
  16. data/.solargraph.yml +20 -0
  17. data/.stylelintignore +4 -0
  18. data/.stylelintrc +6 -0
  19. data/CODE_OF_CONDUCT.md +22 -0
  20. data/Gemfile +57 -3
  21. data/LICENSE +1 -1
  22. data/README.md +89 -0
  23. data/Rakefile +1 -1
  24. data/SECURITY.md +1 -0
  25. data/app/assets/config/spree_frontend_manifest.js +5 -0
  26. data/app/assets/images/arrow-down.svg +12 -0
  27. data/app/assets/images/arrow-right-circle-fill.svg +3 -0
  28. data/app/assets/images/card-image.svg +4 -0
  29. data/app/assets/images/edit.svg +1 -1
  30. data/app/assets/images/favicon.ico +0 -0
  31. data/app/assets/images/file-image.svg +4 -0
  32. data/app/assets/images/global.svg +1 -0
  33. data/app/assets/images/image.svg +4 -0
  34. data/app/assets/images/info.svg +7 -0
  35. data/app/assets/images/logo/spree_50.png +0 -0
  36. data/app/assets/images/logo-spree.png +0 -0
  37. data/app/assets/images/logo.png +0 -0
  38. data/app/assets/images/logo.svg +10 -1
  39. data/app/assets/images/logo@2x.png +0 -0
  40. data/app/assets/images/logo@3x.png +0 -0
  41. data/app/assets/images/noimage/large.png +0 -0
  42. data/app/assets/images/noimage/mini.png +0 -0
  43. data/app/assets/images/noimage/plp.png +0 -0
  44. data/app/assets/images/noimage/plp.svg +16 -0
  45. data/app/assets/images/noimage/product.png +0 -0
  46. data/app/assets/images/noimage/small.png +0 -0
  47. data/app/assets/images/pagination-arrow-right.svg +3 -10
  48. data/app/assets/images/pagination-double-arrow-right.svg +6 -13
  49. data/app/assets/images/plus.svg +1 -1
  50. data/app/assets/images/search.svg +1 -1
  51. data/app/assets/javascripts/spree/frontend/account.js +1 -1
  52. data/app/assets/javascripts/spree/frontend/api/main.js +36 -0
  53. data/app/assets/javascripts/spree/frontend/api/storefront/cart.js +49 -0
  54. data/app/assets/javascripts/spree/frontend/cart.js +24 -2
  55. data/app/assets/javascripts/spree/frontend/checkout/address.js +78 -52
  56. data/app/assets/javascripts/spree/frontend/checkout/address_book.js +38 -40
  57. data/app/assets/javascripts/spree/frontend/checkout/payment.js +63 -23
  58. data/app/assets/javascripts/spree/frontend/checkout/shipment.js +15 -2
  59. data/app/assets/javascripts/spree/frontend/checkout.js +17 -1
  60. data/app/assets/javascripts/spree/frontend/coupon_manager.js +1 -1
  61. data/app/assets/javascripts/spree/frontend/currency.js +44 -0
  62. data/app/assets/javascripts/spree/frontend/locale.es6 +12 -0
  63. data/app/assets/javascripts/spree/frontend/login.js +5 -0
  64. data/app/assets/javascripts/spree/frontend/main.js +78 -0
  65. data/app/assets/javascripts/spree/frontend/main_nav_bar.js +86 -0
  66. data/app/assets/javascripts/spree/frontend/{turbolinks_scroll_fix.js → turbo_scroll_fix.js} +3 -3
  67. data/app/assets/javascripts/spree/frontend/views/spree/home/product_carousels.js +4 -4
  68. data/app/assets/javascripts/spree/frontend/views/spree/product/related.js +3 -3
  69. data/app/assets/javascripts/spree/frontend/views/spree/products/cart_form.js +67 -18
  70. data/app/assets/javascripts/spree/frontend/views/spree/products/description.js +1 -1
  71. data/app/assets/javascripts/spree/frontend/views/spree/products/index.js +76 -15
  72. data/app/assets/javascripts/spree/frontend/views/spree/products/price_filters.es6 +46 -0
  73. data/app/assets/javascripts/spree/frontend/views/spree/shared/mobile_navigation.js +9 -10
  74. data/app/assets/javascripts/spree/frontend/views/spree/shared/product_added_modal.js +7 -0
  75. data/app/assets/javascripts/spree/frontend/views/spree/shared/variant_select.js +93 -0
  76. data/app/assets/javascripts/spree/frontend.js +68 -11
  77. data/app/assets/stylesheets/spree/frontend/application.scss +5 -2
  78. data/app/assets/stylesheets/spree/frontend/components-bootstrap/button.scss +8 -0
  79. data/app/assets/stylesheets/spree/frontend/components-bootstrap/carousel.scss +4 -0
  80. data/app/assets/stylesheets/spree/frontend/components-custom/inputs.scss +80 -1
  81. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-base.scss +23 -0
  82. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-list.scss +265 -0
  83. data/app/assets/stylesheets/spree/frontend/flags/_variables.scss +2 -0
  84. data/app/assets/stylesheets/spree/frontend/flags/flag-icon.scss +3 -0
  85. data/app/assets/stylesheets/spree/frontend/functions.scss +1 -0
  86. data/app/assets/stylesheets/spree/frontend/helpers/spree/frontend_helper.scss +48 -0
  87. data/app/assets/stylesheets/spree/frontend/variables/bootstrap-overrides.scss +2 -2
  88. data/app/assets/stylesheets/spree/frontend/variables/helper-variables.scss +1 -0
  89. data/app/assets/stylesheets/spree/frontend/variables/variables.scss +54 -0
  90. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/confirm.scss +27 -26
  91. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/delivery.scss +6 -0
  92. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/edit.scss +24 -10
  93. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/_index.scss +1 -0
  94. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/product_buy_bar.scss +20 -0
  95. data/app/assets/stylesheets/spree/frontend/views/spree/home/index.scss +54 -67
  96. data/app/assets/stylesheets/spree/frontend/views/spree/orders/edit.scss +4 -3
  97. data/app/assets/stylesheets/spree/frontend/views/spree/orders/show.scss +3 -0
  98. data/app/assets/stylesheets/spree/frontend/views/spree/products/cart_form.scss +8 -0
  99. data/app/assets/stylesheets/spree/frontend/views/spree/products/gallery_modal.scss +7 -0
  100. data/app/assets/stylesheets/spree/frontend/views/spree/products/index.scss +55 -26
  101. data/app/assets/stylesheets/spree/frontend/views/spree/products/show.scss +7 -0
  102. data/app/assets/stylesheets/spree/frontend/views/spree/shared/_color_select.scss +10 -9
  103. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/single.scss +1 -1
  104. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/thumbnails.scss +1 -0
  105. data/app/assets/stylesheets/spree/frontend/views/spree/shared/cart.scss +9 -4
  106. data/app/assets/stylesheets/spree/frontend/views/spree/shared/category_nav_bar.scss +3 -3
  107. data/app/assets/stylesheets/spree/frontend/views/spree/shared/change_store.scss +7 -0
  108. data/app/assets/stylesheets/spree/frontend/views/spree/shared/footer.scss +4 -0
  109. data/app/assets/stylesheets/spree/frontend/views/spree/shared/main_nav_bar.scss +42 -26
  110. data/app/assets/stylesheets/spree/frontend/views/spree/shared/mobile_navigation.scss +34 -3
  111. data/app/assets/stylesheets/spree/frontend/views/spree/shared/nav_bar.scss +24 -7
  112. data/app/assets/stylesheets/spree/frontend/views/spree/shared/quantity_select.scss +9 -12
  113. data/app/assets/stylesheets/spree/frontend/views/spree/shared/search_form.scss +12 -0
  114. data/app/assets/stylesheets/spree/frontend/views/spree/users/show.scss +7 -13
  115. data/app/assets/stylesheets/spree/frontend.css +0 -1
  116. data/app/controllers/concerns/spree/checkout/address_book.rb +9 -7
  117. data/app/controllers/concerns/spree/locale_urls.rb +21 -0
  118. data/app/controllers/spree/addresses_controller.rb +16 -33
  119. data/app/controllers/spree/checkout_controller.rb +15 -13
  120. data/app/controllers/spree/cms_pages_controller.rb +29 -0
  121. data/app/controllers/spree/content_controller.rb +0 -2
  122. data/app/controllers/spree/currency_controller.rb +17 -0
  123. data/app/controllers/spree/errors_controller.rb +11 -0
  124. data/app/controllers/spree/home_controller.rb +38 -1
  125. data/app/controllers/spree/locale_controller.rb +35 -6
  126. data/app/controllers/spree/orders_controller.rb +12 -10
  127. data/app/controllers/spree/products_controller.rb +46 -28
  128. data/app/controllers/spree/store_controller.rb +77 -12
  129. data/app/controllers/spree/taxons_controller.rb +16 -8
  130. data/app/helpers/spree/addresses_helper.rb +64 -12
  131. data/app/helpers/spree/cache_helper.rb +7 -0
  132. data/app/helpers/spree/cms_pages_helper.rb +23 -0
  133. data/app/helpers/spree/frontend_helper.rb +170 -18
  134. data/app/helpers/spree/navigation_helper.rb +81 -4
  135. data/app/helpers/spree/products_filters_helper.rb +168 -0
  136. data/app/helpers/spree/store_helper.rb +41 -0
  137. data/app/helpers/spree/structured_data_helper.rb +6 -2
  138. data/app/helpers/spree/taxons_helper.rb +2 -2
  139. data/app/services/spree/build_localized_redirect_url.rb +141 -0
  140. data/app/views/kaminari/twitter-bootstrap-4/_first_page.html.erb +3 -3
  141. data/app/views/kaminari/twitter-bootstrap-4/_gap.html.erb +2 -2
  142. data/app/views/kaminari/twitter-bootstrap-4/_last_page.html.erb +3 -3
  143. data/app/views/kaminari/twitter-bootstrap-4/_next_page.html.erb +3 -3
  144. data/app/views/kaminari/twitter-bootstrap-4/_page.html.erb +2 -2
  145. data/app/views/kaminari/twitter-bootstrap-4/_paginator.html.erb +2 -2
  146. data/app/views/kaminari/twitter-bootstrap-4/_prev_page.html.erb +3 -3
  147. data/app/views/spree/address/_form.html.erb +26 -27
  148. data/app/views/spree/addresses/_form.html.erb +15 -6
  149. data/app/views/spree/addresses/edit.html.erb +13 -8
  150. data/app/views/spree/addresses/new.html.erb +8 -4
  151. data/app/views/spree/checkout/_address.html.erb +19 -23
  152. data/app/views/spree/checkout/_confirm.html.erb +1 -75
  153. data/app/views/spree/checkout/_credit_card.html.erb +3 -2
  154. data/app/views/spree/checkout/_delivery.html.erb +11 -4
  155. data/app/views/spree/checkout/_delivery_informations.html.erb +51 -0
  156. data/app/views/spree/checkout/_payment.html.erb +5 -24
  157. data/app/views/spree/checkout/_payment_sources.html.erb +17 -0
  158. data/app/views/spree/checkout/_summary.html.erb +22 -19
  159. data/app/views/spree/checkout/edit.html.erb +22 -2
  160. data/app/views/spree/checkout/payment/_gateway.html.erb +2 -2
  161. data/app/views/spree/checkout/registration.html.erb +3 -3
  162. data/app/views/spree/cms_pages/show.html.erb +16 -0
  163. data/app/views/spree/errors/not_found.html.erb +2 -2
  164. data/app/views/spree/home/index.html.erb +17 -123
  165. data/app/views/spree/layouts/checkout.html.erb +3 -1
  166. data/app/views/spree/layouts/spree_application.html.erb +3 -2
  167. data/app/views/spree/locale/index.html.erb +1 -0
  168. data/app/views/spree/orders/_coupon_code.html.erb +3 -4
  169. data/app/views/spree/orders/_line_item.html.erb +4 -4
  170. data/app/views/spree/orders/_line_item_data.html.erb +3 -3
  171. data/app/views/spree/orders/edit.html.erb +2 -3
  172. data/app/views/spree/orders/show.html.erb +2 -72
  173. data/app/views/spree/products/_cart_form.html.erb +5 -2
  174. data/app/views/spree/products/_color_option_type.html.erb +14 -14
  175. data/app/views/spree/products/_description.html.erb +19 -14
  176. data/app/views/spree/products/_filters_desktop.html.erb +80 -40
  177. data/app/views/spree/products/_filters_mobile.html.erb +47 -15
  178. data/app/views/spree/products/_gallery.html.erb +4 -6
  179. data/app/views/spree/products/_gallery_modal.html.erb +4 -6
  180. data/app/views/spree/products/_option_type.html.erb +1 -3
  181. data/app/views/spree/products/_product.html.erb +1 -1
  182. data/app/views/spree/products/_properties.html.erb +6 -4
  183. data/app/views/spree/products/_sort_desktop.html.erb +20 -14
  184. data/app/views/spree/products/_sort_mobile.html.erb +24 -8
  185. data/app/views/spree/products/_thumbnails.html.erb +2 -2
  186. data/app/views/spree/products/index.html.erb +7 -4
  187. data/app/views/spree/products/related.html.erb +11 -5
  188. data/app/views/spree/products/show.html.erb +2 -3
  189. data/app/views/spree/shared/_breadcrumbs.html.erb +2 -2
  190. data/app/views/spree/shared/_carousel_4_products.html.erb +14 -20
  191. data/app/views/spree/shared/_cart.html.erb +1 -1
  192. data/app/views/spree/shared/_checkout_header.html.erb +22 -21
  193. data/app/views/spree/shared/_color_select.html.erb +3 -3
  194. data/app/views/spree/shared/_copyright.html.erb +1 -10
  195. data/app/views/spree/shared/_currency_dropdown.html.erb +13 -0
  196. data/app/views/spree/shared/_delete_address_popup.html.erb +1 -2
  197. data/app/views/spree/shared/_error_messages.html.erb +2 -2
  198. data/app/views/spree/shared/_footer.html.erb +31 -21
  199. data/app/views/spree/shared/_get_started.html.erb +32 -0
  200. data/app/views/spree/shared/_head.html.erb +8 -5
  201. data/app/views/spree/shared/_header.html.erb +4 -4
  202. data/app/views/spree/shared/_internationalization_options.html.erb +31 -0
  203. data/app/views/spree/shared/_line_item.html.erb +3 -3
  204. data/app/views/spree/shared/_link_to_account.html.erb +7 -4
  205. data/app/views/spree/shared/_link_to_cart.html.erb +1 -2
  206. data/app/views/spree/shared/_locale_and_currency.html.erb +6 -0
  207. data/app/views/spree/shared/_locale_dropdown.html.erb +13 -0
  208. data/app/views/spree/shared/_login.html.erb +5 -5
  209. data/app/views/spree/shared/_main_nav_bar.html.erb +69 -45
  210. data/app/views/spree/shared/_mobile_internationalization_options.html.erb +37 -0
  211. data/app/views/spree/shared/_mobile_navigation.html.erb +48 -63
  212. data/app/views/spree/shared/_nav_bar.html.erb +9 -19
  213. data/app/views/spree/shared/_no_product_available.html.erb +1 -1
  214. data/app/views/spree/shared/_option_values.html.erb +2 -21
  215. data/app/views/spree/shared/_order_details.html.erb +117 -174
  216. data/app/views/spree/shared/_paths.html.erb +8 -0
  217. data/app/views/spree/shared/_payment.html.erb +2 -2
  218. data/app/views/spree/shared/_payment_sources.html.erb +2 -2
  219. data/app/views/spree/shared/_product_added_modal.html.erb +3 -3
  220. data/app/views/spree/shared/_properties.html.erb +4 -0
  221. data/app/views/spree/shared/_quantity_select.html.erb +2 -2
  222. data/app/views/spree/shared/_search.html.erb +9 -13
  223. data/app/views/spree/shared/_translations.html.erb +8 -7
  224. data/app/views/spree/shared/carousel/_single.html.erb +9 -14
  225. data/app/views/spree/shared/carousel/_thumbnails.html.erb +35 -39
  226. data/app/views/spree/shared/cms/pages/_edit_mode.html.erb +13 -0
  227. data/app/views/spree/shared/cms/sections/_featured_article.html.erb +27 -0
  228. data/app/views/spree/shared/cms/sections/_hero_image.html.erb +60 -0
  229. data/app/views/spree/shared/cms/sections/_image_gallery.html.erb +171 -0
  230. data/app/views/spree/shared/cms/sections/_product_carousel.html.erb +5 -0
  231. data/app/views/spree/shared/cms/sections/_rich_text_content.html.erb +3 -0
  232. data/app/views/spree/shared/cms/sections/_side_by_side_images.html.erb +118 -0
  233. data/app/views/spree/taxons/_header.html.erb +7 -2
  234. data/app/views/spree/users/_address.html.erb +16 -24
  235. data/app/views/spree/users/_address_controls.html.erb +10 -0
  236. data/app/views/spree/users/show.html.erb +21 -16
  237. data/config/initializers/admin_actions.rb +18 -0
  238. data/config/initializers/assets.rb +4 -13
  239. data/config/initializers/canonical_rails.rb +1 -1
  240. data/config/routes.rb +30 -26
  241. data/lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb +1 -7
  242. data/lib/generators/spree/frontend/install/install_generator.rb +34 -0
  243. data/lib/generators/spree/frontend/install/templates/app/assets/config/manifest.js +2 -0
  244. data/lib/generators/spree/frontend/install/templates/vendor/assets/javascripts/spree/frontend/all.js +8 -0
  245. data/lib/generators/spree/frontend/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +9 -0
  246. data/lib/spree/frontend/configuration.rb +18 -0
  247. data/lib/spree/frontend/engine.rb +3 -1
  248. data/lib/spree/frontend/version.rb +9 -0
  249. data/lib/spree/frontend.rb +8 -4
  250. data/license.md +13 -0
  251. data/spec/fixtures/files/store_favicon.ico +0 -0
  252. data/spree_frontend.gemspec +26 -14
  253. data/vendor/assets/javascripts/cleave.js +8 -0
  254. data/vendor/assets/javascripts/fetch.umd.js +531 -0
  255. data/vendor/assets/javascripts/jquery.payment.js +652 -0
  256. data/vendor/assets/javascripts/jsuri.js +458 -0
  257. data/vendor/assets/javascripts/polyfill.min.js +1 -0
  258. metadata +224 -86
  259. data/app/assets/images/homepage/big_category_banner.jpg +0 -0
  260. data/app/assets/images/homepage/big_category_banner_mobile.jpg +0 -0
  261. data/app/assets/images/homepage/big_category_banner_tablet_landscape.jpg +0 -0
  262. data/app/assets/images/homepage/big_category_banner_tablet_portrait.jpg +0 -0
  263. data/app/assets/images/homepage/category_banner_lower.jpg +0 -0
  264. data/app/assets/images/homepage/category_banner_lower_mobile.jpg +0 -0
  265. data/app/assets/images/homepage/category_banner_lower_tablet_landscape.jpg +0 -0
  266. data/app/assets/images/homepage/category_banner_lower_tablet_portrait.jpg +0 -0
  267. data/app/assets/images/homepage/category_banner_upper.jpg +0 -0
  268. data/app/assets/images/homepage/category_banner_upper_mobile.jpg +0 -0
  269. data/app/assets/images/homepage/category_banner_upper_tablet_landscape.jpg +0 -0
  270. data/app/assets/images/homepage/category_banner_upper_tablet_portrait.jpg +0 -0
  271. data/app/assets/images/homepage/main_banner.jpg +0 -0
  272. data/app/assets/images/homepage/main_banner_mobile.jpg +0 -0
  273. data/app/assets/images/homepage/main_banner_tablet_landscape.jpg +0 -0
  274. data/app/assets/images/homepage/main_banner_tablet_portrait.jpg +0 -0
  275. data/app/assets/images/homepage/promo_banner_left.jpg +0 -0
  276. data/app/assets/images/homepage/promo_banner_left_mobile.jpg +0 -0
  277. data/app/assets/images/homepage/promo_banner_left_tablet_landscape.jpg +0 -0
  278. data/app/assets/images/homepage/promo_banner_left_tablet_portrait.jpg +0 -0
  279. data/app/assets/images/homepage/promo_banner_right.jpg +0 -0
  280. data/app/assets/images/homepage/promo_banner_right_mobile.jpg +0 -0
  281. data/app/assets/images/homepage/promo_banner_right_tablet_landscape.jpg +0 -0
  282. data/app/assets/images/homepage/promo_banner_right_tablet_portrait.jpg +0 -0
  283. data/app/assets/images/meganav/promo_banner_left-first-category.jpg +0 -0
  284. data/app/assets/images/meganav/promo_banner_left-second-category.jpg +0 -0
  285. data/app/assets/images/meganav/promo_banner_left-third-category.jpg +0 -0
  286. data/app/assets/images/meganav/promo_banner_right-first-category.jpg +0 -0
  287. data/app/assets/images/meganav/promo_banner_right-second-category.jpg +0 -0
  288. data/app/assets/images/meganav/promo_banner_right-third-category.jpg +0 -0
  289. data/app/assets/images/noimage/big_category_banner.jpg +0 -0
  290. data/app/assets/images/noimage/big_category_banner_mobile.jpg +0 -0
  291. data/app/assets/images/noimage/big_category_banner_tablet_landscape.jpg +0 -0
  292. data/app/assets/images/noimage/big_category_banner_tablet_portrait.jpg +0 -0
  293. data/app/assets/images/noimage/category_banner.jpg +0 -0
  294. data/app/assets/images/noimage/category_banner_mobile.jpg +0 -0
  295. data/app/assets/images/noimage/category_banner_plp.jpg +0 -0
  296. data/app/assets/images/noimage/category_banner_tablet_landscape.jpg +0 -0
  297. data/app/assets/images/noimage/category_banner_tablet_portrait.jpg +0 -0
  298. data/app/assets/images/noimage/main_banner.jpg +0 -0
  299. data/app/assets/images/noimage/main_banner_mobile.jpg +0 -0
  300. data/app/assets/images/noimage/main_banner_tablet_landscape.jpg +0 -0
  301. data/app/assets/images/noimage/main_banner_tablet_portrait.jpg +0 -0
  302. data/app/assets/images/noimage/product_photo.jpg +0 -0
  303. data/app/assets/images/noimage/promo_banner.jpg +0 -0
  304. data/app/assets/images/noimage/promo_banner_megamenu.jpg +0 -0
  305. data/app/assets/images/noimage/promo_banner_mobile.jpg +0 -0
  306. data/app/assets/images/noimage/promo_banner_tablet_landscape.jpg +0 -0
  307. data/app/assets/images/noimage/promo_banner_tablet_portrait.jpg +0 -0
  308. data/app/assets/images/spark-logo@3x.png +0 -0
  309. data/app/assets/stylesheets/spree/frontend/_glyphicons_urls_fix.scss +0 -10
  310. data/app/assets/stylesheets/spree/frontend/address_book.scss +0 -8
  311. data/app/models/spree/frontend_configuration.rb +0 -7
  312. data/app/views/spree/shared/_taxonomies.html.erb +0 -16
  313. /data/app/views/spree/{shared → errors}/forbidden.html.erb +0 -0
  314. /data/app/views/spree/{shared → errors}/unauthorized.html.erb +0 -0
@@ -0,0 +1,22 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
+
5
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
6
+
7
+ Examples of unacceptable behavior by participants include:
8
+
9
+ * The use of sexualized language or imagery
10
+ * Personal attacks
11
+ * Trolling or insulting/derogatory comments
12
+ * Public or private harassment
13
+ * Publishing other's private information, such as physical or electronic addresses, without explicit permission
14
+ * Other unethical or unprofessional conduct.
15
+
16
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
17
+
18
+ This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
19
+
20
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
21
+
22
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
data/Gemfile CHANGED
@@ -1,6 +1,60 @@
1
- eval_gemfile('../common_spree_dependencies.rb')
1
+ source 'https://rubygems.org'
2
2
 
3
- gem 'spree_core', path: '../core'
4
- gem 'spree_api', path: '../api'
3
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
4
+
5
+ %w[
6
+ actionmailer actionpack actionview activejob activemodel activerecord
7
+ activestorage activesupport railties
8
+ ].each do |rails_gem|
9
+ gem rails_gem, ENV.fetch('RAILS_VERSION', '~> 7.1.0'), require: false
10
+ end
11
+
12
+ platforms :jruby do
13
+ gem 'jruby-openssl'
14
+ end
15
+
16
+ platforms :ruby do
17
+ if ENV['DB'] == 'mysql'
18
+ gem 'mysql2'
19
+ else
20
+ gem 'pg', '~> 1.1'
21
+ end
22
+ end
23
+
24
+ group :test do
25
+ gem 'capybara'
26
+ gem 'capybara-screenshot'
27
+ gem 'capybara-select-2'
28
+ gem 'database_cleaner', '~> 2.0'
29
+ gem 'email_spec'
30
+ gem 'factory_bot_rails', '~> 6.0'
31
+ gem 'multi_json'
32
+ gem 'rspec-activemodel-mocks'
33
+ gem 'rspec-rails'
34
+ gem 'rspec-retry'
35
+ gem 'rspec_junit_formatter'
36
+ gem 'rswag-specs'
37
+ gem 'jsonapi-rspec'
38
+ gem 'simplecov', '0.17.1'
39
+ gem 'webmock'
40
+ gem 'timecop'
41
+ gem 'rails-controller-testing'
42
+ end
43
+
44
+ group :test, :development do
45
+ gem 'awesome_print'
46
+ gem 'gem-release'
47
+ gem 'redis'
48
+ gem 'rubocop', '~> 1.22.3', require: false # bumped
49
+ gem 'rubocop-rspec', require: false
50
+ gem 'pry-byebug'
51
+ gem 'webdrivers'
52
+ gem 'puma'
53
+ gem 'ffaker'
54
+ end
55
+
56
+ spree_opts = { github: 'spree/spree', branch: ENV.fetch('SPREE_BRANCH', 'main') }
57
+ gem 'spree_core', spree_opts
58
+ gem 'spree_api', spree_opts
5
59
 
6
60
  gemspec
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2007-2019, Spree Commerce, Inc., Spark Solutions Sp. z o.o. and other contributors
1
+ Copyright (c) 2007-2021, Spree Commerce, Inc., Spark Solutions Sp. z o.o. and other contributors
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
data/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # Spree (Legacy) Frontend
2
+
3
+ This is the old Spree Storefront extracted from Spree < 4.3 which was upgraded to Turbo/Hotwire.
4
+
5
+ ## Developed by
6
+
7
+ [![Vendo](https://assets-global.website-files.com/6230c485f2c32ea1b0daa438/623372f40a8c54ca9aea34e8_vendo%202.svg)](https://getvendo.com?utm_source=spree_frontend_github)
8
+
9
+ > All-in-one platform for all your Marketplace and B2B eCommerce needs. [Start your 30-day free trial](https://e98esoirr8c.typeform.com/contactvendo?typeform-source=spree_sdk_github)
10
+
11
+ ## Installation
12
+
13
+ Add
14
+
15
+ ```ruby
16
+ gem 'spree_frontend'
17
+ ```
18
+
19
+ to your `Gemfile`, making sure that the `spree_frontend` gem is before `spree_auth_devise`.
20
+
21
+ Make sure both `gem 'jsbundling-rails'` and `gem 'turbo-rails'` are added as well.
22
+
23
+ Run:
24
+
25
+ ```bash
26
+ bundle install
27
+ bin/rails javascript:install:esbuild
28
+ bin/rails turbo:install
29
+ bin/rails g spree:frontend:install
30
+ yarn build
31
+ ```
32
+
33
+ ### Troubleshooting
34
+
35
+ #### Disabled 'Add to Cart' Button Issue
36
+
37
+ If you notice that the 'Add to Cart' button is disabled on product pages, try the following:
38
+ * run `yarn build` again in your main repo
39
+ * if that doesn't fix the issue, try running the following setup commands again:
40
+ ```
41
+ bin/rails javascript:install:esbuild
42
+ bin/rails turbo:install
43
+ bin/rails g spree:frontend:install
44
+ yarn build
45
+ rake assets:clean assets:precompile
46
+ ```
47
+
48
+ This issue may come up if you switch the source of your `spree_frontend` in your Gemfile, e.g. from github to a local path, etc.
49
+
50
+ #### Checkout without logging in results in 500 error
51
+
52
+ When you navigate to checkout without logging in first, you may get a a 500 error notifying you that "yourdomain.com redirected you too many times."
53
+
54
+ This error results from the routes defined in `spree_frontend` and `spree_auth_devise` not being built in the correct order. Make sure the `spree_frontend` gem is listed before `spree_auth_devise` in your main project's gemfile, then try again.
55
+
56
+ ## Running Tests
57
+
58
+ In order to generate the dummy app required for running tests, you’ll need to have the following installed on your machine:
59
+ * node v16.13.1 (npm v8.1.2)
60
+ * yarn ≥ v1.22.15
61
+ * ruby v3.0.3
62
+
63
+ To run tests locally, first run `bundle exec rake test_app`, then `bundle exec rspec`.
64
+
65
+ ### Troubleshooting
66
+ If you are running on a Mac with an M1 processor, you may run into the following error when running tests:
67
+ ```
68
+ Webdrivers::NetworkError:
69
+ Net::HTTPServerException: 404 "Not Found"
70
+ ```
71
+ If so, update your gemfile locally to get version 5.0 or higher for the web drivers gem:
72
+ ```
73
+ gem 'webdrivers', '~> 5.0'
74
+ ```
75
+
76
+ ## Maintanence policy
77
+
78
+ This gem is in maintainence mode.
79
+
80
+ We only accept bug fixes, Spree/Rails compatibility improvements & security patches.
81
+
82
+ For new project we recommend using [Storefront API](https://api.spreecommerce.org/) to create your own unique storefront or use one of the pre-built starters:
83
+
84
+ * [Next.js](https://dev-docs.spreecommerce.org/storefronts/next.js-commerce)
85
+ * [Vue Storefront](https://dev-docs.spreecommerce.org/storefronts/vue-storefront)
86
+
87
+ ## Customization
88
+
89
+ [Developer documentation](https://dev-docs.spreecommerce.org/customization/storefront)
data/Rakefile CHANGED
@@ -11,5 +11,5 @@ task default: :spec
11
11
  desc "Generates a dummy app for testing"
12
12
  task :test_app do
13
13
  ENV['LIB_NAME'] = 'spree/frontend'
14
- Rake::Task['common:test_app'].invoke
14
+ Rake::Task['common:test_app'].execute( { install_storefront: true, install_admin: false } )
15
15
  end
data/SECURITY.md ADDED
@@ -0,0 +1 @@
1
+ Please see [Spree Guides Security section](https://dev-docs.spreecommerce.org/security/index).
@@ -0,0 +1,5 @@
1
+ //= link_tree ../images
2
+ //
3
+ //= link spree/frontend/all.js
4
+ //= link spree/frontend/all.css
5
+ //= link application.js
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="451.847px" height="451.847px" viewBox="0 0 451.847 451.847" style="enable-background:new 0 0 451.847 451.847;"
6
+ xml:space="preserve">
7
+ <g>
8
+ <path d="M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751
9
+ c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0
10
+ c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"/>
11
+ </g>
12
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
2
+ <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-image" viewBox="0 0 16 16">
2
+ <path d="M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
3
+ <path d="M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm13 1a.5.5 0 0 1 .5.5v6l-3.775-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12v.54A.505.505 0 0 1 1 12.5v-9a.5.5 0 0 1 .5-.5h13z"/>
4
+ </svg>
@@ -1 +1 @@
1
- <svg height="18.988" viewBox="0 0 20.715 18.988" width="20.715" xmlns="http://www.w3.org/2000/svg"><path d="m15.536 12.608v5.653h-13.81v-10.361h5.82l1.707-1.721h-9.253v13.809h17.262v-9.126zm1.271-9.162 1.473 1.474-8.01 8.094-1.925.407.442-1.872 8.02-8.1zm-.007-2.446-9.584 9.68-1.174 4.992 5.09-1.077 9.583-9.682z" fill="currentColor" transform="translate(0 -1)"/></svg>
1
+ <svg height="18.988" viewBox="0 0 20.715 18.988" width="20.715" xmlns="http://www.w3.org/2000/svg"><path d="m15.536 12.608v5.653h-13.81v-10.361h5.82l1.707-1.721h-9.253v13.809h17.262v-9.126zm1.271-9.162 1.473 1.474-8.01 8.094-1.925.407.442-1.872 8.02-8.1zm-.007-2.446-9.584 9.68-1.174 4.992 5.09-1.077 9.583-9.682z" fill="currentColor" transform="translate(0 -1)"/></svg>
Binary file
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-file-image" viewBox="0 0 16 16">
2
+ <path d="M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
3
+ <path d="M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12V2z"/>
4
+ </svg>
@@ -0,0 +1 @@
1
+ <svg height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m256 0c-141.160156 0-256 114.839844-256 256s114.839844 256 256 256 256-114.839844 256-256-114.839844-256-256-256zm-15 125.65625c-22.820312-.980469-45.410156-4.1875-66.980469-9.402344 3.445313-8.164062 7.183594-16.003906 11.214844-23.433594 16.539063-30.476562 36.84375-51.863281 55.765625-59.609374zm0 30.023438v85.320312h-93.691406c1.320312-33.300781 6.996094-66.359375 16.382812-96.429688 24.875 6.265626 50.988282 10.058594 77.308594 11.109376zm0 115.320312v85.320312c-26.320312 1.050782-52.433594 4.84375-77.308594 11.109376-9.386718-30.070313-15.0625-63.128907-16.382812-96.429688zm0 115.34375v92.445312c-18.921875-7.746093-39.226562-29.132812-55.765625-59.609374-4.03125-7.429688-7.769531-15.269532-11.214844-23.433594 21.570313-5.214844 44.15625-8.421875 66.980469-9.402344zm30 0c22.820312.980469 45.410156 4.1875 66.980469 9.402344-3.445313 8.164062-7.183594 16.003906-11.214844 23.433594-16.539063 30.476562-36.84375 51.863281-55.765625 59.609374zm0-30.023438v-85.320312h93.691406c-1.320312 33.300781-6.996094 66.359375-16.382812 96.429688-24.875-6.265626-50.988282-10.058594-77.308594-11.109376zm0-115.320312v-85.320312c26.320312-1.050782 52.433594-4.84375 77.308594-11.109376 9.386718 30.070313 15.0625 63.128907 16.382812 96.429688zm0-115.34375v-92.445312c18.921875 7.746093 39.226562 29.132812 55.765625 59.609374 4.03125 7.429688 7.769531 15.269532 11.214844 23.433594-21.570313 5.214844-44.160157 8.421875-66.980469 9.402344zm82.132812-47.144531c-7.511718-13.84375-15.671874-26.046875-24.273437-36.457031 29.992187 10.242187 57.160156 26.628906 80.007813 47.644531-13.03125 6.980469-27.074219 13.042969-41.847657 18.109375-4.191406-10.179688-8.824219-19.972656-13.886719-29.296875zm-194.265624 0c-5.0625 9.324219-9.695313 19.117187-13.886719 29.296875-14.773438-5.066406-28.816407-11.132813-41.847657-18.109375 22.847657-21.015625 50.015626-37.402344 80.007813-47.644531-8.601563 10.410156-16.757813 22.609374-24.273437 36.457031zm-24.035157 57.492187c-10.238281 32.753906-16.257812 68.460938-17.554687 104.996094h-86.765625c3.210937-48.753906 21.933593-93.339844 51.292969-128.832031 16.292968 9.34375 34.136718 17.335937 53.027343 23.835937zm-17.554687 134.996094c1.296875 36.539062 7.316406 72.242188 17.554687 104.996094-18.890625 6.5-36.734375 14.492187-53.027343 23.835937-29.359376-35.492187-48.082032-80.078125-51.292969-128.832031zm27.703125 133.191406c4.191406 10.179688 8.824219 19.972656 13.886719 29.296875 7.515624 13.84375 15.671874 26.046875 24.273437 36.457031-29.992187-10.242187-57.160156-26.628906-80.003906-47.644531 13.023437-6.976562 27.070312-13.042969 41.84375-18.109375zm208.152343 29.296875c5.0625-9.324219 9.695313-19.117187 13.886719-29.296875 14.773438 5.066406 28.816407 11.132813 41.847657 18.109375-22.847657 21.015625-50.015626 37.402344-80.007813 47.644531 8.601563-10.410156 16.757813-22.609374 24.273437-36.457031zm24.035157-57.492187c10.238281-32.753906 16.257812-68.460938 17.554687-104.996094h86.765625c-3.210937 48.753906-21.933593 93.339844-51.292969 128.832031-16.292968-9.34375-34.136718-17.335937-53.027343-23.835937zm17.554687-134.996094c-1.296875-36.539062-7.316406-72.242188-17.554687-104.996094 18.890625-6.5 36.734375-14.492187 53.027343-23.835937 29.359376 35.492187 48.082032 80.078125 51.292969 128.832031zm0 0"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-image" viewBox="0 0 16 16">
2
+ <path d="M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
3
+ <path d="M2.002 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-12zm12 1a1 1 0 0 1 1 1v6.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12V3a1 1 0 0 1 1-1h12z"/>
4
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
2
+ <g id="MiMedia---iOS-Android" serif:id="MiMedia---iOS/Android">
3
+ <g id="icon32pt_info" fill="currentColor">
4
+ <path id="Oval-58" d="M50,94C74.301,94 94,74.301 94,50C94,25.699 74.301,6 50,6C25.699,6 6,25.699 6,50C6,74.301 25.699,94 50,94ZM50,86C69.882,86 86,69.882 86,50C86,30.118 69.882,14 50,14C30.118,14 14,30.118 14,50C14,69.882 30.118,86 50,86ZM57,31.013C57,32.671 56.431,34.085 55.286,35.248C54.145,36.417 52.769,37 51.161,37C49.547,37 48.168,36.417 47.013,35.248C45.861,34.085 45.283,32.671 45.283,31.013C45.283,29.359 45.861,27.942 47.013,26.764C48.165,25.586 49.547,25 51.161,25C52.769,25 54.145,25.589 55.286,26.764C56.431,27.942 57,29.359 57,31.013ZM56.427,70.466C54.71,71.292 53.336,71.919 52.314,72.352C51.291,72.785 50.101,73 48.746,73C46.666,73 45.047,72.381 43.892,71.149C42.738,69.913 42.161,68.345 42.161,66.445C42.161,65.709 42.203,64.952 42.29,64.181C42.377,63.41 42.516,62.539 42.707,61.567L44.856,52.321C45.047,51.436 45.21,50.596 45.339,49.802C45.471,49.014 45.535,48.289 45.535,47.635C45.535,46.454 45.334,45.629 44.934,45.165C44.533,44.7 43.77,44.465 42.637,44.465C42.081,44.465 41.51,44.574 40.928,44.783C40.344,44.993 40,42.534 40,42.534C41.407,41.837 42.752,41.241 44.039,40.745C45.325,40.249 46.541,40 47.691,40C49.757,40 51.352,40.608 52.471,41.823C53.591,43.038 54.151,44.614 54.151,46.558C54.151,46.959 54.114,47.667 54.036,48.678C53.958,49.693 53.814,50.622 53.605,51.467L51.465,60.679C51.291,61.418 51.133,62.264 50.996,63.215C50.855,64.161 50.787,64.883 50.787,65.368C50.787,66.591 51.011,67.425 51.461,67.87C51.913,68.314 52.693,68.535 53.8,68.535C54.321,68.535 54.912,68.423 55.57,68.202C56.227,67.982 56.427,70.466 56.427,70.466Z"/>
5
+ </g>
6
+ </g>
7
+ </svg>
Binary file
Binary file
Binary file
@@ -1 +1,10 @@
1
- <svg height="52" viewBox="0 0 127 52" width="127" xmlns="http://www.w3.org/2000/svg"><g fill="#232323"><path d="m14.2753364 39.6363969c0 1.4152974-1.1470469 2.5623443-2.5623445 2.5623443-1.4149839 0-2.56203066-1.1470469-2.56203066-2.5623443 0-1.4152977 1.14704676-2.5623446 2.56203066-2.5623446 1.4152976 0 2.5623445 1.1470469 2.5623445 2.5623446"/><path d="m25.047254 39.6363969c0 1.4152974-1.1473605 2.5623443-2.5623444 2.5623443s-2.5620307-1.1470469-2.5620307-2.5623443c0-1.4152977 1.1470468-2.5623446 2.5620307-2.5623446s2.5623444 1.1470469 2.5623444 2.5623446"/><path d="m23.4262975 34.5120218h-12.6542228c-1.01621574 0-1.93203347-.6124277-2.31982063-1.5517763l-3.33321258-8.0698005h-2.60909224c-1.38611948 0-2.50994925-1.1238298-2.50994925-2.5099492 0-1.3861195 1.12382977-2.5099493 2.50994925-2.5099493h4.28793453c1.0162157 0 1.93203341.6127414 2.31982057 1.5517761l3.33321265 8.0698007h9.3131666l3.4298458-8.0911352c.5412077-1.276623 2.0142341-1.8714809 3.2908569-1.3315281 1.2759956.5412078 1.8721085 2.0142343 1.3312145 3.2905435l-4.0786675 9.6215765c-.3934346.9277402-1.3032912 1.5304418-2.3110358 1.5304418"/><path d="m26.2302245 11.5434448c-.9603692-1.0002148-2.5491671-1.0322166-3.5490681-.0718473l-3.124573 3.0000168v-11.96147681c0-1.38643322-1.1235161-2.50994924-2.5099493-2.50994924-1.3861195 0-2.5099492 1.12351602-2.5099492 2.50994924v11.90280681l-3.0069192-2.9291108c-.9929987-.9669579-2.5821103-.9465646-3.54938199.0467478-.96727169.9929987-.94656461 2.5821103.04643405 3.549382l7.26849924 7.0796255c.0332568.0323156.0690236.0608663.1035354.0909857.0181972.0160009.0357668.0326294.0545914.0483165.0853383.0702786.1741278.1342823.2660546.1916974.0128635.0078436.0266683.0150597.0398455.023217.0903582.053964.1832263.1019667.2782906.1436946.0087848.003765.0163147.0090986.0250995.0128635.0059611.00251.0119223.0043924.0175697.0065886.0571013.0238446.1148301.0442379.1731864.0633763.0213346.0072161.0423555.0156872.06369.0222758.0571013.0169421.1151439.0307468.1728728.0439241.023217.0053336.0461203.012236.0693373.0166284.0580426.0116085.1163989.0191384.1747552.0263545.0232171.0028237.0458066.0078436.0690236.009726.078436.0078436.1568719.0116085.2353078.0116085.0025099 0 .0050199.0006275.0078436.0006275h.0003137c.0065886 0 .013491-.0009412.0200796-.0009412.073416-.0006275.146832-.0037649.2196206-.0106673.0432966-.0040787.0862795-.012236.1289486-.0185109.0360805-.0053336.072161-.0090985.1079278-.0160009.0511402-.0097261.101653-.0235308.1521657-.0363943.0266682-.0072161.0539639-.012236.0803184-.0200796.0520814-.0153734.1025942-.034198.1537344-.0530226.024472-.0087849.0495715-.0163147.0740435-.0263545.0486302-.0194521.0960055-.0423554.1436945-.0652587.0260408-.012236.0523952-.0235308.0778085-.036708.0432966-.0225895.0853383-.0480028.1276936-.073416.0288645-.0172559.0583564-.0335706.0865933-.0520815.0370218-.0241582.0727885-.0511402.108869-.0774946.0320019-.0235308.0643175-.0467479.0953781-.0718473.0313744-.0254133.0614938-.0530227.0919269-.0800047.023217-.020707.0473753-.0392179.0699649-.0608662l7.3729758-7.0793119c.999901-.9603693 1.031903-2.5491672.0718472-3.5490682"/><path d="m17.4343584 51.7764879c-2.5146555 0-5.1375524-.9468783-7.95716663-2.8403213-1.15081172-.7727506-1.45733926-2.3320566-.68458864-3.4828683.7727506-1.150498 2.33205657-1.4570256 3.48318207-.6845886 4.3949211 2.9513865 6.8782021 2.2404435 9.4612536.1374197 1.0751996-.8750312 2.6561538-.7134532 3.5311848.3617464.8750312 1.0751996.7131395 2.6561539-.3620601 3.5311849-2.4384157 1.9850561-4.8981659 2.9774272-7.4718051 2.9774272"/><path d="m48.1055811 42.6457631c-2.3471162 0-5.1039816-1.0799056-6.2962075-2.8685582-.2604073-.3353919-.3724136-.7074919-.3724136-1.1175548 0-1.0055486.9315048-1.8626961 1.9370531-1.8626961.5217557 0 1.0061761.2604073 1.4902825.8198122.7451412.9308773 1.8256743 1.3782757 3.2412855 1.3782757 2.4961446 0 3.9490916-1.4529467 3.9490916-2.9805647 0-1.6389968-1.6393106-2.7568654-3.6880567-3.5020067-2.0490599-.7448274-4.2474617-1.4529467-5.7000949-3.2783073-.7078054-.931505-1.0805331-2.0487461-1.0805331-3.4273358 0-3.8373986 3.2039503-6.0728221 6.780628-6.0728221 2.384138 0 4.9919754 1.3039186 6.2958938 3.2786212.1863638.2980565.2980566.6331347.2980566 1.0428839 0 1.0431977-.8941696 1.8630098-1.9373672 1.8630098-.5587774 0-1.0428838-.2983702-1.4899684-.8941693-.7824768-1.0805332-1.8256744-1.6393107-3.1666148-1.6393107-1.9376809 0-3.0552358 1.0805331-3.0552358 2.4217872 0 1.3785897 1.6393106 2.309781 3.6883705 3.054922 2.0490597.7824767 4.2471479 1.5649535 5.7000946 3.5390284.7078057 1.0061761 1.0802196 2.1980882 1.0802196 3.6136994 0 3.9864271-3.5390286 6.6312859-7.6744838 6.6312859zm14.1467957 5.2685404c0 1.1574004-.8584027 1.866461-1.8661472 1.866461-1.0077447 0-1.8661474-.7090606-1.8661474-1.866461v-20.1555198c0-4.441669 3.5829525-8.0246215 8.0246215-8.0246215 4.4419828 0 8.0249353 3.5829525 8.0249353 8.0246215v6.9054977c0 4.4413552-3.5829525 8.0246215-8.0249353 8.0246215-1.6794698 0-3.0979048-.5226968-4.2923269-1.6047988zm0-13.2500221c0 2.3885304 1.9034827 4.2923269 4.2923269 4.2923269s4.2923269-1.9037965 4.2923269-4.2923269v-6.9054977c0-2.3888443-1.9034827-4.292327-4.2923269-4.292327s-4.2923269 1.9034827-4.2923269 4.292327zm26.6424837-9.6207922c-.4900675 0-.9415448-.1885601-1.3560001-.6027016l-.0752984-.0752985c-.7153357-.5647386-1.5056559-.8659325-2.4472007-.8659325-2.2216187 0-3.577305 1.5439326-3.577305 4.5938346v12.5390788c0 1.1674403-.8659326 1.8827758-1.8827757 1.8827758s-1.8827758-.7153355-1.8827758-1.8827758v-12.5390788c0-4.7067823 2.6734098-8.3593859 7.3428565-8.3593859 1.8068499 0 3.9908195.8282832 5.2338717 2.0710218.3764925.4141417.5647387.828597.5647387 1.3177234 0 1.0168432-.9035817 1.9207387-1.9201112 1.9207387zm19.4309605 5.3081974c0 1.0061761-.856834 1.8626961-1.862696 1.8626961h-10.431663v2.4217873c0 2.23511 2.1610662 4.2841696 4.657211 4.2841696 1.489968 0 2.682194-.4841064 3.613699-1.4156114.409436-.5590912.893856-.8568338 1.489969-.8568338 1.006176 0 1.937681.8568338 1.937681 1.8623823 0 .7454548-.410063 1.2295614-.857148 1.6766461-1.527304 1.6393105-3.6137 2.458809-6.184201 2.458809-4.3588409 0-8.382917-3.5760501-8.382917-8.0095618v-6.8923205c0-4.4331979 3.5769915-8.0098756 8.010189-8.0098756 4.433198 0 8.009876 3.5766777 8.009876 8.0098756zm-3.725392-1.8626961v-.745141c0-2.3844518-1.900346-4.2841697-4.284484-4.2841697-2.3844516 0-4.284483 1.8997179-4.284483 4.2841697v.745141zm22.330924 1.8626961c0 1.0061761-.856834 1.8626961-1.862696 1.8626961h-10.431349v2.4217873c0 2.23511 2.160752 4.2841696 4.656897 4.2841696 1.489969 0 2.682508-.4841064 3.613699-1.4156114.409749-.5590912.893856-.8568338 1.490283-.8568338 1.005862 0 1.937367.8568338 1.937367 1.8623823 0 .7454548-.40975 1.2295614-.857148 1.6766461-1.527304 1.6393105-3.613386 2.458809-6.184201 2.458809-4.358841 0-8.382917-3.5760501-8.382917-8.0095618v-6.8923205c0-4.4331979 3.576991-8.0098756 8.010189-8.0098756 4.433512 0 8.009876 3.5766777 8.009876 8.0098756zm-3.725392-1.8626961v-.745141c0-2.3844518-1.900346-4.2841697-4.284484-4.2841697-2.384451 0-4.284169 1.8997179-4.284169 4.2841697v.745141z"/></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1199.129" height="300.825" viewBox="0 0 1199.129 300.825">
2
+ <g transform="translate(-224.344 -239.125)" fill="currentColor">
3
+ <g transform="translate(224.344 239.125)">
4
+ <g>
5
+ <path d="M125.668,240.112h0a72.581,72.581,0,0,1-23.006-3.89,94.124,94.124,0,0,1-18.873-8.857,107.267,107.267,0,0,1-20.2-15.773h0a.038.038,0,0,1-.01-.008L67.7,205.44a.257.257,0,0,0,.031.015,129.888,129.888,0,0,0,18,6.538,159.717,159.717,0,0,0,18.66,4.242,140.957,140.957,0,0,0,22.752,1.911c18.939,0,36.223-4.183,51.365-12.433l4.6,6.144C165.469,230.606,146.145,240.112,125.668,240.112Zm49.205-52.481a15.174,15.174,0,0,1-10.359-3.971,12.848,12.848,0,0,1,0-19.168,15.5,15.5,0,0,1,20.719,0,12.848,12.848,0,0,1,0,19.168A15.167,15.167,0,0,1,174.873,187.631Zm-102.539,0c-8.377,0-15.2-6.081-15.2-13.555s6.818-13.555,15.2-13.555a16.057,16.057,0,0,1,10.74,3.971,12.551,12.551,0,0,1,0,19.168A16.06,16.06,0,0,1,72.334,187.631Zm5.723-45.9a32.085,32.085,0,0,1-10.328-1.7,31.065,31.065,0,0,1-8.91-4.729,29.019,29.019,0,0,1-6.748-7.224,27.241,27.241,0,0,1-3.848-9.182L30.924,18.424H0L.008,0h37.41A12.563,12.563,0,0,1,44.98,2.5a10.945,10.945,0,0,1,4.137,6.373l4.895,24.229H203.217a12.291,12.291,0,0,1,9.2,4,10.438,10.438,0,0,1,2.531,9.111l-14.965,72.605a27.356,27.356,0,0,1-3.859,9.228,28.967,28.967,0,0,1-6.777,7.248,31.211,31.211,0,0,1-8.98,4.738,32.738,32.738,0,0,1-10.459,1.7c-.2,0-.387,0-.588-.005H78.641C78.449,141.736,78.25,141.736,78.057,141.736ZM193.385,52.909h0l-135.6.019,10.869,61.653a6.213,6.213,0,0,0,2.342,3.641,7.124,7.124,0,0,0,4.291,1.419h.131l97.768-.019h.152a6.726,6.726,0,0,0,6.846-5.041L193.389,52.91Z" transform="translate(0 0)" />
6
+ </g>
7
+ </g>
8
+ <path d="M220.518,267.868H188.227V3.852h28.885l3.414,34.871.051.538h3.205l.17-.313a71.884,71.884,0,0,1,12.227-16.555A70.851,70.851,0,0,1,252.49,10.179a80,80,0,0,1,19.9-7.58A99.514,99.514,0,0,1,295.41,0c12.859,0,24.6,2.308,34.889,6.858a69.852,69.852,0,0,1,26.039,19.913c7.152,8.765,12.648,19.555,16.334,32.071,3.758,12.743,5.662,27.323,5.662,43.333,0,16.193-1.9,30.9-5.662,43.722-3.693,12.6-9.189,23.417-16.334,32.165A69.522,69.522,0,0,1,330.3,197.925c-10.266,4.522-22,6.815-34.895,6.815a101.836,101.836,0,0,1-23.617-2.656,79.464,79.464,0,0,1-20.025-7.667,67.849,67.849,0,0,1-27.812-28.62l-.168-.319h-3.27Zm65.65-241.347a76.039,76.039,0,0,0-26.777,4.591A59.7,59.7,0,0,0,238.65,44.06a57.23,57.23,0,0,0-13.391,20.02,68.977,68.977,0,0,0-4.742,25.782v25.018A68.52,68.52,0,0,0,225.26,140.6a56.735,56.735,0,0,0,13.391,19.894A59.585,59.585,0,0,0,259.4,173.3a76.919,76.919,0,0,0,26.77,4.535c17.721,0,32.619-5.164,43.084-14.933,10.484-9.782,16.025-23.727,16.025-40.327V82.163c0-16.625-5.539-30.635-16.018-40.514C318.768,31.752,303.867,26.521,286.168,26.521ZM813.123,207.434c-14.346,0-27.553-2.449-39.25-7.278a81.139,81.139,0,0,1-29.59-20.815,92.683,92.683,0,0,1-18.717-32.885c-4.332-12.969-6.531-27.608-6.531-43.509,0-15.868,2.2-30.426,6.525-43.271a90,90,0,0,1,18.674-32.347A80.172,80.172,0,0,1,773.711,7.041C785.316,2.369,798.449,0,812.74,0a104.883,104.883,0,0,1,36.965,6.245,76.843,76.843,0,0,1,27.906,17.877A78.153,78.153,0,0,1,895.27,52.385a108.659,108.659,0,0,1,6.178,37.477,171.369,171.369,0,0,1-1.086,20.188H752.1l0,12.146a65.8,65.8,0,0,0,4.406,24.36,53.083,53.083,0,0,0,12.516,18.792,55.624,55.624,0,0,0,19.518,12.077,73.161,73.161,0,0,0,25.357,4.259c13.848,0,26.477-3.546,36.518-10.254a49.172,49.172,0,0,0,20.127-27.085h31.914c-4.311,19.228-14.252,34.234-30.393,45.877a92.6,92.6,0,0,1-12.91,7.529,93.781,93.781,0,0,1-14.1,5.375,104.528,104.528,0,0,1-15.326,3.232A124.678,124.678,0,0,1,813.123,207.434ZM812.74,25.75a73.857,73.857,0,0,0-24.521,3.965,56.338,56.338,0,0,0-19.18,11.2A49.878,49.878,0,0,0,756.547,58.26,55.846,55.846,0,0,0,752.1,80.622V86.61H869.535l0-8.3a55.422,55.422,0,0,0-4.117-21.5A47.378,47.378,0,0,0,853.8,40.195a51.919,51.919,0,0,0-17.953-10.673A68.611,68.611,0,0,0,812.74,25.75ZM602.188,207.434c-14.346,0-27.553-2.449-39.25-7.278a81.053,81.053,0,0,1-29.59-20.815,92.683,92.683,0,0,1-18.717-32.885c-4.332-12.969-6.531-27.608-6.531-43.509,0-15.882,2.2-30.44,6.525-43.271A90,90,0,0,1,533.3,27.329,80.2,80.2,0,0,1,562.77,7.041C574.381,2.369,587.514,0,601.8,0A104.883,104.883,0,0,1,638.77,6.245a76.845,76.845,0,0,1,27.9,17.877,78.078,78.078,0,0,1,17.664,28.263,108.613,108.613,0,0,1,6.178,37.477,171.4,171.4,0,0,1-1.084,20.188H541.16l0,12.146a65.8,65.8,0,0,0,4.406,24.36,53,53,0,0,0,12.516,18.792,55.615,55.615,0,0,0,19.52,12.077,73.094,73.094,0,0,0,25.355,4.259c13.848,0,26.477-3.546,36.518-10.254A49.146,49.146,0,0,0,659.6,144.344h31.914c-4.311,19.228-14.252,34.234-30.393,45.877a91.839,91.839,0,0,1-27.012,12.9,104.621,104.621,0,0,1-15.326,3.232A124.678,124.678,0,0,1,602.188,207.434ZM601.8,25.75a73.849,73.849,0,0,0-24.521,3.965,56.338,56.338,0,0,0-19.18,11.2A49.755,49.755,0,0,0,545.611,58.26a55.846,55.846,0,0,0-4.449,22.362V86.61H658.6l0-8.3a55.377,55.377,0,0,0-4.117-21.5,47.378,47.378,0,0,0-11.619-16.612,51.906,51.906,0,0,0-17.953-10.673A68.619,68.619,0,0,0,601.8,25.75ZM81.393,207.434c-24.617,0-45.252-6.1-59.678-17.626A56.742,56.742,0,0,1,5.605,169.613,60.958,60.958,0,0,1,0,143.962H31.914c.158,11.487,4.887,21.176,13.678,28.021s21.18,10.47,35.8,10.47a73.968,73.968,0,0,0,19.047-2.274,42.731,42.731,0,0,0,14.363-6.646,29.5,29.5,0,0,0,9.076-10.736,32.54,32.54,0,0,0,3.146-14.432,30.161,30.161,0,0,0-1.7-10.379,23.257,23.257,0,0,0-5.111-8.218,28.879,28.879,0,0,0-8.469-5.976,49.488,49.488,0,0,0-11.77-3.727l-43.113-8.086a100.8,100.8,0,0,1-23.322-6.953A56.1,56.1,0,0,1,17,93.958,42.633,42.633,0,0,1,7.139,78.8,54.181,54.181,0,0,1,3.854,59.45,57.6,57.6,0,0,1,9.145,34.57,51.835,51.835,0,0,1,24.215,15.9C37.465,5.5,56.438,0,79.08,0A110.546,110.546,0,0,1,111.02,4.34a70.231,70.231,0,0,1,23.936,12.271c13.072,10.551,20.162,25.557,20.5,43.4H123.535c-1-23.5-15.959-35.416-44.455-35.416a70.987,70.987,0,0,0-18.3,2.18A39.769,39.769,0,0,0,47.3,33.035a27.234,27.234,0,0,0-8.334,9.922,29.573,29.573,0,0,0-2.83,13.029,28.154,28.154,0,0,0,3.4,14.106,23.2,23.2,0,0,0,9.619,9.133l.045.019c7.922,3.4,11.479,4.623,19.758,6.2l39.648,7.31A93.816,93.816,0,0,1,131.49,99.57a54.132,54.132,0,0,1,16.3,11.206,43.876,43.876,0,0,1,9.783,15.591,58.259,58.259,0,0,1,3.273,20.075,58.013,58.013,0,0,1-5.57,25.6A53.43,53.43,0,0,1,139.395,191.2C125.43,201.82,105.373,207.434,81.393,207.434Zm357.762-3.852H406.861V32.891a39.827,39.827,0,0,1,1.848-12.722,22.8,22.8,0,0,1,5.525-9.032A23.415,23.415,0,0,1,423.5,5.693a42.561,42.561,0,0,1,13.174-1.841h69.07V30.367H439.158Z" transform="translate(521.02 272.083)" />
9
+ </g>
10
+ </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,16 @@
1
+ <svg width="180" height="240" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" clip-rule="evenodd">
2
+ <g>
3
+ <g fill="rgb(0,0,0)" opacity="0.5">
4
+ <path stroke="null"
5
+ d="m37.38608,79.18345l0,0a8.05821,8.05821 0 0 1 -2.55421,-0.43188a10.45,10.45 0 0 1 -2.09535,-0.98334a11.90918,11.90918 0 0 1 -2.24268,-1.75118l0,0a0.00422,0.00422 0 0 1 -0.00111,-0.00089l0.45753,-0.68213a0.02854,0.02854 0 0 0 0.00344,0.00167a14.42065,14.42065 0 0 0 1.99843,0.72587a17.73238,17.73238 0 0 0 2.0717,0.47096a15.64957,15.64957 0 0 0 2.52601,0.21216c2.10268,0 4.02162,-0.46441 5.70274,-1.38036l0.51071,0.68213c-1.95835,2.08158 -4.10377,3.13697 -6.3772,3.13697l-0.00002,0.00002zm5.46292,-5.82663a1.68467,1.68467 0 0 1 -1.15009,-0.44087a1.42643,1.42643 0 0 1 0,-2.1281a1.72087,1.72087 0 0 1 2.3003,0a1.42643,1.42643 0 0 1 0,2.1281a1.6839,1.6839 0 0 1 -1.15021,0.44087zm-11.38426,0c-0.93005,0 -1.68756,-0.67513 -1.68756,-1.50492s0.75696,-1.50492 1.68756,-1.50492a1.78271,1.78271 0 0 1 1.19239,0.44087a1.39346,1.39346 0 0 1 0,2.1281a1.78304,1.78304 0 0 1 -1.19239,0.44087zm0.63539,-5.09599a3.5622,3.5622 0 0 1 -1.14665,-0.18874a3.44895,3.44895 0 0 1 -0.98922,-0.52503a3.2218,3.2218 0 0 1 -0.74919,-0.80204a3.0244,3.0244 0 0 1 -0.42722,-1.01942l-1.9206,-11.15478l-3.43329,0l0.00089,-2.0455l4.1534,0a1.39479,1.39479 0 0 1 0.83956,0.27756a1.21515,1.21515 0 0 1 0.4593,0.70756l0.54346,2.68999l16.56529,0a1.36459,1.36459 0 0 1 1.02142,0.44409a1.15887,1.15887 0 0 1 0.281,1.01154l-1.66147,8.06088a3.03716,3.03716 0 0 1 -0.42844,1.02453a3.21602,3.21602 0 0 1 -0.75241,0.8047a3.46516,3.46516 0 0 1 -0.99699,0.52603a3.6347,3.6347 0 0 1 -1.1612,0.18874c-0.02221,0 -0.04296,0 -0.06528,-0.00056l-10.06752,0c-0.02132,0.001 -0.04341,0.001 -0.06484,0.001l0,-0.00056l0.00001,0.00001zm12.80414,-9.86134l0,0l-15.05482,0.00211l1.20671,6.84495a0.68979,0.68979 0 0 0 0.26002,0.40424a0.79094,0.79094 0 0 0 0.4764,0.15754l0.01455,0l10.85456,-0.00211l0.01688,0a0.74674,0.74674 0 0 0 0.76007,-0.55967l1.46607,-6.84695l-0.00044,-0.00011z"
6
+ id="svg_4"/>
7
+ <path stroke="null"
8
+ d="m80.85475,85.92415l-3.58506,0l0,-29.31204l3.20692,0l0.37903,3.87151l0.00566,0.05973l0.35583,0l0.01888,-0.03475a7.98083,7.98083 0 0 1 1.35748,-1.838a7.86614,7.86614 0 0 1 1.8109,-1.35604a8.88189,8.88189 0 0 1 2.20937,-0.84156a11.04841,11.04841 0 0 1 2.55577,-0.28855c1.42765,0 2.73118,0.25625 3.87351,0.7614a7.75523,7.75523 0 0 1 2.89094,2.21081c0.79405,0.97312 1.40423,2.17107 1.81346,3.56065c0.41723,1.41478 0.62862,3.0335 0.62862,4.81099c0,1.79781 -0.21094,3.43063 -0.62862,4.85418c-0.41001,1.3989 -1.0202,2.59984 -1.81346,3.57107a7.71859,7.71859 0 0 1 -2.89083,2.20526c-1.13977,0.50205 -2.44252,0.75663 -3.87417,0.75663a11.30621,11.30621 0 0 1 -2.62205,-0.29488a8.82239,8.82239 0 0 1 -2.22325,-0.85122a7.53285,7.53285 0 0 1 -3.08779,-3.1775l-0.01865,-0.03542l-0.36304,0l0.00056,11.36772l-0.00001,0zm7.28871,-26.79524a8.44213,8.44213 0 0 0 -2.97288,0.50971a6.62812,6.62812 0 0 0 -2.30274,1.43753a6.35389,6.35389 0 0 0 -1.48672,2.22269a7.65808,7.65808 0 0 0 -0.52647,2.86242l0,2.77759a7.60735,7.60735 0 0 0 0.52658,2.85553a6.29893,6.29893 0 0 0 1.48672,2.2087a6.61535,6.61535 0 0 0 2.30363,1.42177a8.53984,8.53984 0 0 0 2.9721,0.50349c1.96745,0 3.62148,-0.57333 4.78335,-1.65791c1.16397,-1.08604 1.77916,-2.63426 1.77916,-4.47726l0,-4.48669c0,-1.84577 -0.61496,-3.40121 -1.77838,-4.49801c-1.16497,-1.0988 -2.81933,-1.67957 -4.78435,-1.67957l0,0.00002zm58.5045,20.08563c-1.59274,0 -3.05904,-0.27189 -4.35768,-0.80803a9.00836,9.00836 0 0 1 -3.28519,-2.31096a10.29001,10.29001 0 0 1 -2.07803,-3.65101c-0.48096,-1.43986 -0.7251,-3.06514 -0.7251,-4.83053c0,-1.76172 0.24425,-3.37801 0.72443,-4.8041a9.99214,9.99214 0 0 1 2.07326,-3.59128a8.90099,8.90099 0 0 1 3.27264,-2.25245c1.28843,-0.5187 2.7465,-0.78172 4.33314,-0.78172a11.6445,11.6445 0 0 1 4.10399,0.69334a8.5314,8.5314 0 0 1 3.09823,1.98477a8.67684,8.67684 0 0 1 1.96056,3.13786a12.06373,12.06373 0 0 1 0.6859,4.16084a19.02602,19.02602 0 0 1 -0.12057,2.24135l-16.46059,0l0,1.34849a7.30536,7.30536 0 0 0 0.48917,2.70454a5.89347,5.89347 0 0 0 1.38957,2.08636a6.17558,6.17558 0 0 0 2.16696,1.34083a8.1226,8.1226 0 0 0 2.81523,0.47285c1.53746,0 2.93958,-0.39369 4.05436,-1.13844a5.45926,5.45926 0 0 0 2.23458,-3.00708l3.54321,0c-0.47863,2.13476 -1.58231,3.80078 -3.37434,5.09344a10.2808,10.2808 0 0 1 -1.43331,0.8359a10.41191,10.41191 0 0 1 -1.56544,0.59675a11.60509,11.60509 0 0 1 -1.70155,0.35883a13.84222,13.84222 0 0 1 -1.84344,0.11946l0.00001,-0.00001zm-0.04252,-20.17123a8.19988,8.19988 0 0 0 -2.72241,0.44021a6.25485,6.25485 0 0 0 -2.12943,1.24347a5.53764,5.53764 0 0 0 -1.38691,1.92571a6.20023,6.20023 0 0 0 -0.49373,2.48272l0,0.66481l13.03807,0l0,-0.9215a6.15316,6.15316 0 0 0 -0.45708,-2.38701a5.26008,5.26008 0 0 0 -1.28987,-1.84466a5.76424,5.76424 0 0 0 -1.99321,-1.18496a7.61745,7.61745 0 0 0 -2.56543,-0.41878l0,-0.00001zm-23.37626,20.17123c-1.59274,0 -3.05904,-0.27189 -4.35768,-0.80803a8.99881,8.99881 0 0 1 -3.28519,-2.31096a10.29001,10.29001 0 0 1 -2.07803,-3.65101c-0.48096,-1.43986 -0.7251,-3.06514 -0.7251,-4.83053c0,-1.76328 0.24425,-3.37956 0.72443,-4.8041a9.99214,9.99214 0 0 1 2.07337,-3.59128a8.9041,8.9041 0 0 1 3.27187,-2.25245c1.28909,-0.5187 2.74717,-0.78172 4.33326,-0.78172a11.6445,11.6445 0 0 1 4.10455,0.69334a8.53162,8.53162 0 0 1 3.09757,1.98477a8.66851,8.66851 0 0 1 1.96112,3.13786a12.05862,12.05862 0 0 1 0.6859,4.16084a19.02946,19.02946 0 0 1 -0.12035,2.24135l-16.46126,0l0,1.34849a7.30536,7.30536 0 0 0 0.48917,2.70454a5.88425,5.88425 0 0 0 1.38957,2.08636a6.17458,6.17458 0 0 0 2.16719,1.34083a8.11517,8.11517 0 0 0 2.815,0.47285c1.53746,0 2.93958,-0.39369 4.05436,-1.13844a5.45637,5.45637 0 0 0 2.23435,-3.00719l3.54321,0c-0.47863,2.13476 -1.58231,3.80078 -3.37434,5.09344a10.19631,10.19631 0 0 1 -2.99897,1.4322a11.61541,11.61541 0 0 1 -1.70155,0.35883a13.84222,13.84222 0 0 1 -1.84244,0.12001l0.00001,0zm-0.04307,-20.17123a8.19899,8.19899 0 0 0 -2.72241,0.44021a6.25485,6.25485 0 0 0 -2.12943,1.24347a5.52398,5.52398 0 0 0 -1.38646,1.92571a6.20023,6.20023 0 0 0 -0.49395,2.48272l0,0.66481l13.0384,0l0,-0.9215a6.14816,6.14816 0 0 0 -0.45708,-2.38701a5.26008,5.26008 0 0 0 -1.28998,-1.84433a5.7628,5.7628 0 0 0 -1.99321,-1.18496a7.61834,7.61834 0 0 0 -2.56587,-0.41912l-0.00001,-0.00001zm-57.77752,20.17123c-2.73307,0 -5.02404,-0.67724 -6.62568,-1.9569a6.29971,6.29971 0 0 1 -1.7886,-2.24213a6.76779,6.76779 0 0 1 -0.62229,-2.84787l3.54321,0c0.01754,1.27533 0.54257,2.35103 1.51858,3.11099s2.35148,1.16242 3.97465,1.16242a8.2122,8.2122 0 0 0 2.11466,-0.25247a4.74415,4.74415 0 0 0 1.59463,-0.73786a3.2752,3.2752 0 0 0 1.00765,-1.19195a3.61271,3.61271 0 0 0 0.34928,-1.60229a3.34858,3.34858 0 0 0 -0.18874,-1.15232a2.58208,2.58208 0 0 0 -0.56745,-0.91239a3.20625,3.20625 0 0 0 -0.94026,-0.66347a5.49434,5.49434 0 0 0 -1.30675,-0.41379l-4.78657,-0.89773a11.19119,11.19119 0 0 1 -2.58929,-0.77195a6.22843,6.22843 0 0 1 -1.83622,-1.22881a4.73327,4.73327 0 0 1 -1.09481,-1.6829a6.01538,6.01538 0 0 1 -0.36471,-2.14831a6.39497,6.39497 0 0 1 0.58742,-2.76227a5.75491,5.75491 0 0 1 1.67313,-2.07281c1.47107,-1.15465 3.57751,-1.76528 6.09132,-1.76528a12.27323,12.27323 0 0 1 3.5461,0.48185a7.7973,7.7973 0 0 1 2.65746,1.36237c1.4513,1.17141 2.23846,2.83743 2.27598,4.81843l-3.54399,0c-0.11103,-2.60906 -1.77183,-3.93202 -4.93556,-3.93202a7.88124,7.88124 0 0 0 -2.03173,0.24203a4.4153,4.4153 0 0 0 -1.4966,0.69501a3.02362,3.02362 0 0 0 -0.92527,1.10158a3.2833,3.2833 0 0 0 -0.3142,1.44653a3.12576,3.12576 0 0 0 0.37748,1.5661a2.57575,2.57575 0 0 0 1.06794,1.01398l0.005,0.00211c0.87953,0.37748 1.27444,0.51326 2.1936,0.68835l4.40187,0.81158a10.4158,10.4158 0 0 1 2.54067,0.75674a6.00994,6.00994 0 0 1 1.80968,1.24413a4.87128,4.87128 0 0 1 1.08615,1.73097a6.46813,6.46813 0 0 1 0.36338,2.2288a6.44082,6.44082 0 0 1 -0.6184,2.84221a5.932,5.932 0 0 1 -1.76317,2.12699c-1.55045,1.17908 -3.77725,1.80236 -6.4396,1.80236zm39.72006,-0.42766l-3.5854,0l0,-18.95075a4.42174,4.42174 0 0 1 0.20517,-1.41245a2.53134,2.53134 0 0 1 0.61341,-1.00277a2.59962,2.59962 0 0 1 1.02875,-0.60441a4.72528,4.72528 0 0 1 1.46263,-0.20439l7.66841,0l0,2.9438l-7.39263,0l-0.00033,19.23097l-0.00001,0z"
9
+ id="svg_5"/>
10
+ </g>
11
+ <g transform="matrix(1.89682 0 0 1.89682 -1.5642 -167.039)" opacity="0.5">
12
+ <text x="23.43384" y="165.81385" font-family="'Arial', sans-serif" font-weight="400" font-size="10" fill="rgb(0,0,0)">NO IMAGE</text>
13
+ <text x="21.55265" y="180.81385" font-family="'Arial', sans-serif" font-weight="400" font-size="10" fill="rgb(0,0,0)">AVAILABLE</text>
14
+ </g>
15
+ </g>
16
+ </svg>
Binary file
@@ -1,12 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="8.636" height="13.937" viewBox="0 0 13.636 13.937">
2
- <defs>
3
- <clipPath id="clip-path">
4
- <rect width="8.636" height="13.937" fill="none"/>
5
- </clipPath>
6
- </defs>
7
- <g id="Group_426" data-name="Group 426" transform="translate(0)">
8
- <g id="left-arrow" transform="translate(11.636 13.937) rotate(180)" clip-path="url(#clip-path)">
9
- <path id="Path_8" data-name="Path 8" d="M39.273,18.731a.436.436,0,0,0,.617,0,.438.438,0,0,0,0-.618l-5.426-5.434,5.426-5.434a.437.437,0,0,0-.617-.618L33.528,12.37a.438.438,0,0,0,0,.618Z" transform="translate(-32.4 -5.922)" fill="#232323" stroke="#232323" stroke-width="0.5"/>
10
- </g>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="8.636" height="13.937" viewBox="0 0 13.636 13.937">
2
+ <g transform="rotate(180 5.818 6.968)" clip-path="url(#clip-path)">
3
+ <path d="M6.873 12.809a.436.436 0 00.617 0 .438.438 0 000-.618L2.064 6.757 7.49 1.323a.437.437 0 00-.617-.618L1.128 6.448a.438.438 0 000 .618z" fill="#232323" stroke="#232323" stroke-width=".5"/>
11
4
  </g>
12
5
  </svg>
@@ -1,15 +1,8 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="13.636" height="13.937" viewBox="0 0 13.636 13.937">
2
- <defs>
3
- <clipPath id="clip-path">
4
- <rect width="8.636" height="13.937" fill="none"/>
5
- </clipPath>
6
- </defs>
7
- <g id="Group_426" data-name="Group 426" transform="translate(0)">
8
- <g id="left-arrow" transform="translate(8.636 13.937) rotate(180)" clip-path="url(#clip-path)">
9
- <path id="Path_8" data-name="Path 8" d="M39.273,18.731a.436.436,0,0,0,.617,0,.438.438,0,0,0,0-.618l-5.426-5.434,5.426-5.434a.437.437,0,0,0-.617-.618L33.528,12.37a.438.438,0,0,0,0,.618Z" transform="translate(-32.4 -5.922)" fill="#232323" stroke="#232323" stroke-width="0.5"/>
10
- </g>
11
- <g id="left-arrow-2" data-name="left-arrow" transform="translate(13.636 13.937) rotate(180)" clip-path="url(#clip-path)">
12
- <path id="Path_8-2" data-name="Path 8" d="M39.273,18.731a.436.436,0,0,0,.617,0,.438.438,0,0,0,0-.618l-5.426-5.434,5.426-5.434a.437.437,0,0,0-.617-.618L33.528,12.37a.438.438,0,0,0,0,.618Z" transform="translate(-32.4 -5.922)" fill="#232323" stroke="#232323" stroke-width="0.5"/>
13
- </g>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="13.636" height="13.937">
2
+ <g transform="rotate(180 4.318 6.968)" clip-path="url(#clip-path)">
3
+ <path d="M6.873 12.809a.436.436 0 00.617 0 .438.438 0 000-.618L2.064 6.757 7.49 1.323a.437.437 0 00-.617-.618L1.128 6.448a.438.438 0 000 .618z" fill="#232323" stroke="#232323" stroke-width=".5"/>
4
+ </g>
5
+ <g data-name="left-arrow" transform="rotate(180 6.818 6.968)" clip-path="url(#clip-path)">
6
+ <path d="M6.873 12.809a.436.436 0 00.617 0 .438.438 0 000-.618L2.064 6.757 7.49 1.323a.437.437 0 00-.617-.618L1.128 6.448a.438.438 0 000 .618z" fill="#232323" stroke="#232323" stroke-width=".5"/>
14
7
  </g>
15
8
  </svg>
@@ -1 +1 @@
1
- <svg height="14" viewBox="0 0 16.498 14" width="16.498" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="#232323" stroke-width="2"><path d="m0 7h16.498"/><path d="m8.249 14v-14"/></g></svg>
1
+ <svg height="14" viewBox="0 0 16.498 14" width="16.498" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" fill="none" stroke="currentColor" stroke-width="2"><path d="m0 7h16.498"/><path d="m8.249 14v-14"/></g></svg>
@@ -1 +1 @@
1
- <svg height="20.291" viewBox="0 0 20.286 20.291" width="20.286" xmlns="http://www.w3.org/2000/svg"><path d="m20.161 19.256-4.931-4.931a8.659 8.659 0 1 0 -.855.855l4.931 4.931a.611.611 0 0 0 .427.18.593.593 0 0 0 .427-.18.608.608 0 0 0 .001-.855zm-18.901-10.604a7.437 7.437 0 1 1 7.44 7.441 7.445 7.445 0 0 1 -7.44-7.441z" transform="translate(-.05)"/></svg>
1
+ <svg height="20.291" viewBox="0 0 20.286 20.291" width="20.286" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m20.161 19.256-4.931-4.931a8.659 8.659 0 1 0 -.855.855l4.931 4.931a.611.611 0 0 0 .427.18.593.593 0 0 0 .427-.18.608.608 0 0 0 .001-.855zm-18.901-10.604a7.437 7.437 0 1 1 7.44 7.441 7.445 7.445 0 0 1 -7.44-7.441z" transform="translate(-.05)"/></svg>
@@ -1,6 +1,6 @@
1
1
  Spree.fetchAccount = function () {
2
2
  return $.ajax({
3
- url: Spree.pathFor('account_link')
3
+ url: Spree.localizedPathFor('account_link')
4
4
  }).done(function (data) {
5
5
  Spree.accountFetched = true
6
6
  return $('#link-to-account').html(data)
@@ -0,0 +1,36 @@
1
+ //= require spree/frontend/main
2
+
3
+ var SpreeAPI = {
4
+ oauthToken: null, // user Bearer token to authorize operations for the given user
5
+ orderToken: null // order token to authorize operations on current order (cart)
6
+ }
7
+
8
+ SpreeAPI.Storefront = {}
9
+ SpreeAPI.Platform = {}
10
+
11
+ // API routes
12
+ Spree.routes.api_v2_storefront_cart_create = Spree.localizedPathFor('api/v2/storefront/cart')
13
+ Spree.routes.api_v2_storefront_cart_add_item = Spree.localizedPathFor('api/v2/storefront/cart/add_item')
14
+ Spree.routes.api_v2_storefront_cart_apply_coupon_code = Spree.localizedPathFor('api/v2/storefront/cart/apply_coupon_code')
15
+
16
+ // helpers
17
+ SpreeAPI.handle500error = function () {
18
+ alert('Internal Server Error')
19
+ }
20
+
21
+ SpreeAPI.prepareHeaders = function (headers) {
22
+ if (typeof headers === 'undefined') {
23
+ headers = {}
24
+ }
25
+
26
+ // if signed in we need to pass the Bearer authorization token
27
+ // so backend will recognize that actions are authorized in scope of this user
28
+ if (SpreeAPI.oauthToken) {
29
+ headers['Authorization'] = 'Bearer ' + SpreeAPI.oauthToken
30
+ }
31
+
32
+ // default headers, required for POST/PATCH/DELETE requests
33
+ headers['Accept'] = 'application/json'
34
+ headers['Content-Type'] = 'application/json'
35
+ return headers
36
+ }
@@ -0,0 +1,49 @@
1
+ //= require spree/frontend/api/main
2
+
3
+ SpreeAPI.Storefront.createCart = function (successCallback, failureCallback) {
4
+ fetch(Spree.routes.api_v2_storefront_cart_create, {
5
+ method: 'POST',
6
+ headers: SpreeAPI.prepareHeaders()
7
+ }).then(function (response) {
8
+ switch (response.status) {
9
+ case 422:
10
+ response.json().then(function (json) { failureCallback(json.error) })
11
+ break
12
+ case 500:
13
+ SpreeAPI.handle500error()
14
+ break
15
+ case 201:
16
+ response.json().then(function (json) {
17
+ SpreeAPI.orderToken = json.data.attributes.token
18
+ successCallback()
19
+ })
20
+ break
21
+ }
22
+ })
23
+ }
24
+
25
+ SpreeAPI.Storefront.addToCart = function (variantId, quantity, options, successCallback, failureCallback) {
26
+ fetch(Spree.routes.api_v2_storefront_cart_add_item, {
27
+ method: 'POST',
28
+ headers: SpreeAPI.prepareHeaders({ 'X-Spree-Order-Token': SpreeAPI.orderToken }),
29
+ body: JSON.stringify({
30
+ variant_id: variantId,
31
+ quantity: quantity,
32
+ options: options
33
+ })
34
+ }).then(function (response) {
35
+ switch (response.status) {
36
+ case 422:
37
+ response.json().then(function (json) { failureCallback(json.error) })
38
+ break
39
+ case 500:
40
+ SpreeAPI.handle500error()
41
+ break
42
+ case 200:
43
+ response.json().then(function (json) {
44
+ successCallback(json.data)
45
+ })
46
+ break
47
+ }
48
+ })
49
+ }
@@ -3,6 +3,21 @@
3
3
  Spree.ready(function ($) {
4
4
  var formUpdateCart = $('form#update-cart')
5
5
 
6
+ function buildEventTriggerObject(dataset, quantity) {
7
+ if (!dataset || !quantity) return false
8
+
9
+ var triggerObject = {
10
+ type: 'product_remove_from_cart',
11
+ variant_sku: dataset.variantSku,
12
+ variant_name: dataset.variantName,
13
+ variant_price: dataset.variantPrice,
14
+ variant_options: dataset.variantOptions,
15
+ variant_quantity: quantity
16
+ }
17
+
18
+ return triggerObject
19
+ }
20
+
6
21
  if (formUpdateCart.length) {
7
22
  var clearInvalidCouponField = function() {
8
23
  var couponCodeField = $('#order_coupon_code');
@@ -12,9 +27,16 @@ Spree.ready(function ($) {
12
27
  }
13
28
  }
14
29
 
15
- formUpdateCart.find('a.delete').show().one('click', function () {
30
+ formUpdateCart.find('a.delete').show().one('click', function (event) {
31
+ var itemId = $(this).attr('data-id')
32
+ var link = $(event.currentTarget);
33
+ var quantityInputs = $("form#update-cart input.shopping-cart-item-quantity-input[data-id='" + itemId + "']")
34
+ var quantity = $(quantityInputs).val()
16
35
  $(this).parents('.shopping-cart-item').first().find('input.shopping-cart-item-quantity-input').val(0)
17
36
  clearInvalidCouponField()
37
+ if (link[0] && link[0].dataset && quantity) {
38
+ link.trigger(buildEventTriggerObject(link[0].dataset, quantity))
39
+ }
18
40
  formUpdateCart.submit()
19
41
  return false
20
42
  })
@@ -101,7 +123,7 @@ Spree.ready(function ($) {
101
123
 
102
124
  Spree.fetchCart = function () {
103
125
  return $.ajax({
104
- url: Spree.pathFor('cart_link')
126
+ url: Spree.localizedPathFor('cart_link')
105
127
  }).done(function (data) {
106
128
  Spree.cartFetched = true
107
129
  return $('#link-to-cart').html(data)