spree_frontend 4.2.0.rc5 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/frontend.js +10 -0
  3. data/app/assets/javascripts/spree/frontend/account.js +1 -1
  4. data/app/assets/javascripts/spree/frontend/cart.js +1 -1
  5. data/app/assets/javascripts/spree/frontend/checkout/address.js +1 -1
  6. data/app/assets/javascripts/spree/frontend/coupon_manager.js +2 -2
  7. data/app/assets/javascripts/spree/frontend/currency.js +11 -0
  8. data/app/assets/javascripts/spree/frontend/locale.js +11 -0
  9. data/app/assets/stylesheets/spree/frontend/application.scss +0 -3
  10. data/app/assets/stylesheets/spree/frontend/variables/bootstrap-overrides.scss +1 -0
  11. data/app/assets/stylesheets/spree/frontend/variables/helper-variables.scss +1 -0
  12. data/app/assets/stylesheets/spree/frontend/variables/variables.scss +54 -0
  13. data/app/controllers/concerns/spree/locale_urls.rb +23 -0
  14. data/app/controllers/spree/checkout_controller.rb +8 -8
  15. data/app/controllers/spree/currency_controller.rb +6 -10
  16. data/app/controllers/spree/locale_controller.rb +23 -6
  17. data/app/controllers/spree/orders_controller.rb +2 -2
  18. data/app/controllers/spree/store_controller.rb +8 -2
  19. data/app/helpers/spree/addresses_helper.rb +9 -2
  20. data/app/helpers/spree/frontend_helper.rb +6 -20
  21. data/app/helpers/spree/navigation_helper.rb +6 -1
  22. data/app/helpers/spree/store_helper.rb +39 -0
  23. data/app/helpers/spree/taxons_helper.rb +1 -1
  24. data/app/views/spree/checkout/_address.html.erb +2 -4
  25. data/app/views/spree/locale/index.html.erb +1 -0
  26. data/app/views/spree/orders/_line_item.html.erb +1 -1
  27. data/app/views/spree/products/_color_option_type.html.erb +1 -1
  28. data/app/views/spree/shared/_currency_dropdown.html.erb +13 -0
  29. data/app/views/spree/shared/_footer.html.erb +1 -1
  30. data/app/views/spree/shared/_head.html.erb +4 -0
  31. data/app/views/spree/shared/_internationalization_options.html.erb +31 -0
  32. data/app/views/spree/shared/_line_item.html.erb +2 -2
  33. data/app/views/spree/shared/_link_to_account.html.erb +5 -5
  34. data/app/views/spree/shared/_locale_dropdown.html.erb +13 -0
  35. data/app/views/spree/shared/_login.html.erb +1 -1
  36. data/app/views/spree/shared/_mobile_internationalization_options.html.erb +37 -0
  37. data/app/views/spree/shared/_mobile_navigation.html.erb +2 -5
  38. data/app/views/spree/shared/_nav_bar.html.erb +1 -1
  39. data/app/views/spree/shared/_order_details.html.erb +2 -2
  40. data/app/views/spree/users/show.html.erb +1 -1
  41. data/config/routes.rb +26 -29
  42. data/lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb +1 -7
  43. data/lib/generators/spree/frontend/install/install_generator.rb +34 -0
  44. data/lib/generators/spree/frontend/install/templates/config/initializers/spree_storefront.rb +1 -0
  45. data/lib/generators/spree/frontend/install/templates/config/spree_storefront.yml +99 -0
  46. metadata +22 -12
  47. data/app/views/spree/shared/_change_store.html.erb +0 -25
  48. data/app/views/spree/shared/_mobile_change_store.html.erb +0 -30
@@ -0,0 +1 @@
1
+ SpreeStorefrontConfig = YAML.load_file(Rails.root.join('config', 'spree_storefront.yml')).with_indifferent_access
@@ -0,0 +1,99 @@
1
+ default:
2
+ navigation:
3
+ - title: Women
4
+ subtitle: Categories
5
+ url: /t/women
6
+ items:
7
+ - :title: Skirts
8
+ :url: /t/women/skirts
9
+ - :title: Dresses
10
+ :url: /t/women/dresses
11
+ - :title: Shirts and Blouses
12
+ :url: /t/women/shirts-and-blouses
13
+ - :title: Sweaters
14
+ :url: /t/women/sweaters
15
+ - :title: Tops and T-shirts
16
+ :url: /t/women/tops-and-t-shirts
17
+ - :title: Jackets and Coats
18
+ :url: /t/women/jackets-and-coats
19
+ promo_banners:
20
+ - subtitle: New collection
21
+ title: Summer 2021
22
+ url: /t/new-collection/summer-2021
23
+ image: 'meganav/promo_banner_left-first-category.jpg'
24
+ - subtitle: Special Offers
25
+ title: Get up to 30% off
26
+ url: /t/special-offers/30-percent-off
27
+ image: 'meganav/promo_banner_right-first-category.jpg'
28
+ - title: Men
29
+ subtitle: Categories
30
+ url: /t/men
31
+ items:
32
+ - :title: Shirts
33
+ :url: /t/men/shirts
34
+ - :title: T-shirts
35
+ :url: /t/men/t-shirts
36
+ - :title: Sweaters
37
+ :url: /t/men/sweaters
38
+ - :title: Jackets and Coats
39
+ :url: /t/men/jackets-and-coats
40
+ promo_banners:
41
+ - subtitle: New collection
42
+ title: Summer 2021
43
+ url: /t/new-collection/summer-2021
44
+ image: 'meganav/promo_banner_left-second-category.jpg'
45
+ - subtitle: Special Offers
46
+ title: Get up to 30% off
47
+ url: /t/special-offers/30-percent-off
48
+ image: 'meganav/promo_banner_right-second-category.jpg'
49
+ - title: Sportswear
50
+ subtitle: Categories
51
+ url: /t/sportswear
52
+ items:
53
+ - :title: Tops
54
+ :url: /t/sportswear/tops
55
+ - :title: Sweatshirts
56
+ :url: /t/sportswear/sweatshirts
57
+ - :title: Pants
58
+ :url: /t/sportswear/pants
59
+ promo_banners:
60
+ - subtitle: New collection
61
+ title: Summer 2021
62
+ url: /t/new-collection/summer-2021
63
+ image: 'meganav/promo_banner_left-third-category.jpg'
64
+ - subtitle: Special Offers
65
+ title: Get up to 30% off
66
+ url: /t/special-offers/30-percent-off
67
+ image: 'meganav/promo_banner_right-third-category.jpg'
68
+ fr:
69
+ navigation:
70
+ - title: Femmes
71
+ url: /fr/t/women
72
+ promo_banners:
73
+ - subtitle: Nouvelle collection
74
+ title: Été 2021
75
+ url: /fr/t/new-collection/summer-2021
76
+ image: 'meganav/promo_banner_left-first-category.jpg'
77
+ - subtitle: Offres spéciales
78
+ url: /fr/t/special-offers/30-percent-off
79
+ image: 'meganav/promo_banner_right-first-category.jpg'
80
+ - title: Hommes
81
+ url: /fr/t/men
82
+ promo_banners:
83
+ - subtitle: Nouvelle collection
84
+ title: Été 2021
85
+ url: /fr/t/new-collection/summer-2021
86
+ image: 'meganav/promo_banner_left-second-category.jpg'
87
+ - subtitle: Offres spéciales
88
+ url: /fr/t/special-offers/30-percent-off
89
+ image: 'meganav/promo_banner_right-second-category.jpg'
90
+ - title: Vêtements de sport
91
+ url: /fr/t/sportswear
92
+ promo_banners:
93
+ - subtitle: Nouvelle collection
94
+ title: Été 2021
95
+ url: /fr/t/new-collection/summer-2021
96
+ image: 'meganav/promo_banner_left-third-category.jpg'
97
+ - subtitle: Offres spéciales
98
+ url: /fr/t/special-offers/30-percent-off
99
+ image: 'meganav/promo_banner_right-third-category.jpg'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0.rc5
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-02-04 00:00:00.000000000 Z
12
+ date: 2021-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_api
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 4.2.0.rc5
20
+ version: 4.2.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 4.2.0.rc5
27
+ version: 4.2.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: spree_core
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 4.2.0.rc5
34
+ version: 4.2.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 4.2.0.rc5
41
+ version: 4.2.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bootstrap
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -547,6 +547,8 @@ files:
547
547
  - app/assets/javascripts/spree/frontend/components-bootstrap/.gitkeep
548
548
  - app/assets/javascripts/spree/frontend/components-custom/.gitkeep
549
549
  - app/assets/javascripts/spree/frontend/coupon_manager.js
550
+ - app/assets/javascripts/spree/frontend/currency.js
551
+ - app/assets/javascripts/spree/frontend/locale.js
550
552
  - app/assets/javascripts/spree/frontend/login.js
551
553
  - app/assets/javascripts/spree/frontend/main_nav_bar.js
552
554
  - app/assets/javascripts/spree/frontend/multi_currency.js
@@ -637,6 +639,7 @@ files:
637
639
  - app/assets/stylesheets/spree/frontend/views/spree/user_sessions/new.scss
638
640
  - app/assets/stylesheets/spree/frontend/views/spree/users/show.scss
639
641
  - app/controllers/concerns/spree/checkout/address_book.rb
642
+ - app/controllers/concerns/spree/locale_urls.rb
640
643
  - app/controllers/spree/addresses_controller.rb
641
644
  - app/controllers/spree/checkout_controller.rb
642
645
  - app/controllers/spree/content_controller.rb
@@ -652,6 +655,7 @@ files:
652
655
  - app/helpers/spree/frontend_helper.rb
653
656
  - app/helpers/spree/navigation_helper.rb
654
657
  - app/helpers/spree/orders_helper.rb
658
+ - app/helpers/spree/store_helper.rb
655
659
  - app/helpers/spree/structured_data_helper.rb
656
660
  - app/helpers/spree/taxons_helper.rb
657
661
  - app/models/spree/frontend_configuration.rb
@@ -686,6 +690,7 @@ files:
686
690
  - app/views/spree/home/index.html.erb
687
691
  - app/views/spree/layouts/checkout.html.erb
688
692
  - app/views/spree/layouts/spree_application.html.erb
693
+ - app/views/spree/locale/index.html.erb
689
694
  - app/views/spree/orders/_adjustment_row.html.erb
690
695
  - app/views/spree/orders/_adjustments.html.erb
691
696
  - app/views/spree/orders/_coupon_code.html.erb
@@ -720,22 +725,24 @@ files:
720
725
  - app/views/spree/shared/_breadcrumbs.html.erb
721
726
  - app/views/spree/shared/_carousel_4_products.html.erb
722
727
  - app/views/spree/shared/_cart.html.erb
723
- - app/views/spree/shared/_change_store.html.erb
724
728
  - app/views/spree/shared/_checkout_header.html.erb
725
729
  - app/views/spree/shared/_color_select.html.erb
726
730
  - app/views/spree/shared/_copyright.html.erb
731
+ - app/views/spree/shared/_currency_dropdown.html.erb
727
732
  - app/views/spree/shared/_delete_address_popup.html.erb
728
733
  - app/views/spree/shared/_error_messages.html.erb
729
734
  - app/views/spree/shared/_flashes.html.erb
730
735
  - app/views/spree/shared/_footer.html.erb
731
736
  - app/views/spree/shared/_head.html.erb
732
737
  - app/views/spree/shared/_header.html.erb
738
+ - app/views/spree/shared/_internationalization_options.html.erb
733
739
  - app/views/spree/shared/_line_item.html.erb
734
740
  - app/views/spree/shared/_link_to_account.html.erb
735
741
  - app/views/spree/shared/_link_to_cart.html.erb
742
+ - app/views/spree/shared/_locale_dropdown.html.erb
736
743
  - app/views/spree/shared/_login.html.erb
737
744
  - app/views/spree/shared/_main_nav_bar.html.erb
738
- - app/views/spree/shared/_mobile_change_store.html.erb
745
+ - app/views/spree/shared/_mobile_internationalization_options.html.erb
739
746
  - app/views/spree/shared/_mobile_navigation.html.erb
740
747
  - app/views/spree/shared/_nav_bar.html.erb
741
748
  - app/views/spree/shared/_no_product_available.html.erb
@@ -768,6 +775,9 @@ files:
768
775
  - config/initializers/canonical_rails.rb
769
776
  - config/routes.rb
770
777
  - lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb
778
+ - lib/generators/spree/frontend/install/install_generator.rb
779
+ - lib/generators/spree/frontend/install/templates/config/initializers/spree_storefront.rb
780
+ - lib/generators/spree/frontend/install/templates/config/spree_storefront.yml
771
781
  - lib/spree/frontend.rb
772
782
  - lib/spree/frontend/engine.rb
773
783
  - lib/spree/frontend/middleware/seo_assist.rb
@@ -782,9 +792,9 @@ licenses:
782
792
  - BSD-3-Clause
783
793
  metadata:
784
794
  bug_tracker_uri: https://github.com/spree/spree/issues
785
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc5
795
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0
786
796
  documentation_uri: https://guides.spreecommerce.org/
787
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc5
797
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.0
788
798
  post_install_message:
789
799
  rdoc_options: []
790
800
  require_paths:
@@ -796,9 +806,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
796
806
  version: 2.5.0
797
807
  required_rubygems_version: !ruby/object:Gem::Requirement
798
808
  requirements:
799
- - - ">"
809
+ - - ">="
800
810
  - !ruby/object:Gem::Version
801
- version: 1.3.1
811
+ version: '0'
802
812
  requirements:
803
813
  - none
804
814
  rubygems_version: 3.1.4
@@ -1,25 +0,0 @@
1
- <% if Spree::Config.show_store_selector && stores.size > 1 %>
2
- <li class="d-none d-xl-block change-store">
3
- <div class="dropdown navbar-right-dropdown">
4
- <button id="stores-button" type="button" data-toggle="dropdown" class="navbar-right-dropdown-toggle" aria-label="<%= Spree.t('nav_bar.change_country') %>">
5
- <%= icon(name: 'global',
6
- classes: 'd-none d-xl-inline-block',
7
- width: 41,
8
- height: 36) %>
9
- <%= icon(name: 'arrow-down',
10
- classes: 'd-inline-block d-xl-none',
11
- width: 15,
12
- height: 15) %>
13
- </button>
14
-
15
- <div id="stores_list" class="dropdown-menu dropdown-menu-right text-right">
16
- <% stores.each do |store| %>
17
- <div class="pl-3 d-flex justify-content-between align-items-center <%= 'active' if store.id == current_store.id %>">
18
- <span class="flag-icon flag-icon-<%= store_country_iso(store) %>"></span>
19
- <%= link_to "#{store.name} (#{store_currency_symbol(store)})", store.formatted_url, class: 'dropdown-item text-uppercase' %>
20
- </div>
21
- <% end %>
22
- </div>
23
- </div>
24
- </li>
25
- <% end %>
@@ -1,30 +0,0 @@
1
- <% if stores.size > 1 %>
2
- <li class="d-flex justify-content-between align-items-center mobile-navigation-list-item">
3
- <span class="w-75"><%= Spree.t('nav_bar.change_country') %></span>
4
- <a class="w-25 text-right mobile-navigation-category-link" data-category="countries" href="#" aria-label="<%= Spree.t('nav_bar.change_country') %>">
5
- <%= icon(name: 'arrow-right',
6
- classes: 'd-sm-none spree-icon-arrow spree-icon-arrow-right',
7
- width: 16,
8
- height: 16) %>
9
- <%= icon(name: 'arrow-right',
10
- classes: 'd-none d-sm-inline spree-icon-arrow spree-icon-arrow-right',
11
- width: 14,
12
- height: 27) %>
13
- </a>
14
-
15
- <ul class="list-unstyled position-absolute mobile-navigation-sublist" data-category="countries">
16
- <li class="text-center font-weight-bold mobile-navigation-sublist-header">
17
- <%= Spree.t('nav_bar.change_country') %>
18
- </li>
19
- <% stores.each do |store| %>
20
- <li class="d-flex justify-content-between align-items-center mobile-navigation-list-item">
21
- <span class="flag-icon flag-icon-<%= store_country_iso(store) %>"></span>
22
- <%= link_to "//#{store.url}", class: 'dropdown-item text-uppercase d-flex' do %>
23
- <span><%= store.default_country&.name %></span>
24
- <span class="text-right w-100"><%= store_currency_symbol(store) %></span>
25
- <% end %>
26
- </li>
27
- <% end %>
28
- </ul>
29
- </li>
30
- <% end %>