spree_storefront 5.0.5 → 5.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8b5f53e77331921922ac1da27123087c2b06413b7e77bb9061709a3f4c331a6
4
- data.tar.gz: 72d769742b732a7d2500dc4ce2ab6d25217198ac40d5010273b9ffb55a815a01
3
+ metadata.gz: 2d758772259f4e6e3ffd355b4252f2422bf78263a988a818c48e48d0c377655b
4
+ data.tar.gz: 49bbc7a193bdd072668c0de6ffce9586a1cc3b3b0c62be40e89b3c2313720ef4
5
5
  SHA512:
6
- metadata.gz: e9eb50e07eee8427553b3ff7afb6e4e87a409c7a2bfdd0aa1fae44d31e146ef1595750f79e3a1e4a296390dfc3c9e9b589d17f3e3bf7131f277f859be4ea841d
7
- data.tar.gz: 20e8fc5511fbedf98f50cdfe492e4765ca15fe39de324bd4988a2d03ac8b80b5e0a098cb59f0488d73b03cb75f086f02ef3bea757dbd6d0b5e3c434286cf7d88
6
+ metadata.gz: d129a479969498e9a6106a462ac4db503da5bf9ffae3a721c91ee74d3291bb3353fed199e0ac47bfcc3d96db1ea80fdd2422d32b9c2bb4450a28aaefb08aa8b1
7
+ data.tar.gz: ed4de551790ba08151199da2500b12f04f2b2d35573baa2c9c141436b04ff80547b551c0e48132994d74569a1cb4b05dffc1a1839853d74c5cd7d38622c655bb
@@ -0,0 +1,48 @@
1
+ # This concern is used to include the necessary methods and helpers for the Devise controllers
2
+ # It is used to avoid repeating the same code in each controller
3
+ module Spree
4
+ module Storefront
5
+ module DeviseConcern
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ helper_method :title
10
+ helper_method :stored_location
11
+ layout 'spree/storefront'
12
+
13
+ include Spree::Core::ControllerHelpers::Auth
14
+ include Spree::Core::ControllerHelpers::Store
15
+ include Spree::Core::ControllerHelpers::Order
16
+ include Spree::Core::ControllerHelpers::StrongParameters
17
+ include Spree::Core::ControllerHelpers::Locale
18
+ include Spree::Core::ControllerHelpers::Currency
19
+ include Spree::Core::ControllerHelpers::Turbo
20
+ include Spree::LocaleUrls
21
+ include Spree::ThemeConcern
22
+ include Spree::IntegrationsHelper if defined?(Spree::IntegrationsHelper)
23
+
24
+ helper 'spree/wishlist'
25
+ helper 'spree/currency'
26
+ helper 'spree/locale'
27
+ helper 'spree/storefront_locale'
28
+ helper 'spree/integrations' if defined?(Spree::IntegrationsHelper)
29
+ end
30
+
31
+ def stored_location
32
+ return unless defined?(after_sign_in_path_for)
33
+ return unless defined?(store_location_for)
34
+ return unless defined?(Devise)
35
+
36
+ path = after_sign_in_path_for(Devise.mappings.keys.first)
37
+
38
+ store_location_for(Devise.mappings.keys.first, path)
39
+
40
+ path
41
+ end
42
+
43
+ def password_path(_resource_or_scope = nil)
44
+ send("#{Spree.user_class.model_name.singular_route_key}_password_path")
45
+ end
46
+ end
47
+ end
48
+ end
@@ -52,9 +52,16 @@ module Spree
52
52
  end
53
53
 
54
54
  def svg_country_icon(country_code)
55
- country_code = :us if country_code.to_s.downcase == 'en'
56
- country_code = :jp if country_code.to_s.downcase == 'ja'
57
- tag.span(class: "fi fi-#{country_code.downcase}")
55
+ language_to_country = {
56
+ 'en' => 'us',
57
+ 'ja' => 'jp',
58
+ 'uk' => 'ua'
59
+ }
60
+
61
+ normalized_code = country_code.to_s.downcase
62
+ final_country_code = language_to_country.fetch(normalized_code, normalized_code)
63
+
64
+ tag.span(class: "fi fi-#{final_country_code}")
58
65
  end
59
66
 
60
67
  def show_account_pane?
@@ -20,7 +20,7 @@
20
20
  >
21
21
  <%= render 'spree/shared/icons/cross' %>
22
22
  </button>
23
- <span class='text-xl font-medium uppercase leading-loose'><%= Spree.t(:account) %></span>
23
+ <span class='text-xl font-medium uppercase leading-none'><%= Spree.t(:account) %></span>
24
24
  <span></span>
25
25
  </div>
26
26
  <%= turbo_frame_tag "login", src: spree_login_path, loading: "lazy" %>
@@ -24,7 +24,7 @@
24
24
  ) do %>
25
25
  <%= render 'spree/shared/icons/close' %>
26
26
  <% end %>
27
- <span class='text-xl font-medium uppercase leading-loose'><%= Spree.t(:cart) %></span>
27
+ <span class='text-xl font-medium uppercase leading-none'><%= Spree.t(:cart) %></span>
28
28
  <span class='relative block w-6'>
29
29
  <%= render 'spree/shared/icons/cart' %>
30
30
  <span class='cart-counter w-full text-[8px] font-extrabold absolute top-[10px] text-center'>
@@ -0,0 +1,47 @@
1
+ require 'rails/generators'
2
+
3
+ module Spree
4
+ module Storefront
5
+ module Generators
6
+ class DeviseGenerator < Rails::Generators::Base
7
+ desc 'Installs Spree Storefront Devise controllers'
8
+
9
+ def self.source_paths
10
+ [
11
+ File.expand_path('templates', __dir__),
12
+ File.expand_path('../templates', "../#{__FILE__}"),
13
+ File.expand_path('../templates', "../../#{__FILE__}")
14
+ ]
15
+ end
16
+
17
+ def install
18
+ template 'user_sessions_controller.rb', 'app/controllers/spree/user_sessions_controller.rb'
19
+ template 'user_registrations_controller.rb', 'app/controllers/spree/user_registrations_controller.rb'
20
+ template 'user_passwords_controller.rb', 'app/controllers/spree/user_passwords_controller.rb'
21
+
22
+ # add devise routes
23
+ insert_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do
24
+ <<-ROUTES.strip_heredoc.indent!(2)
25
+ Spree::Core::Engine.add_routes do
26
+ # Storefront routes
27
+ scope '(:locale)', locale: /\#{Spree.available_locales.join('|')\}/, defaults: { locale: nil } do
28
+ devise_for(
29
+ Spree.user_class.model_name.singular_route_key,
30
+ class_name: Spree.user_class.to_s,
31
+ path: :user,
32
+ controllers: {
33
+ sessions: 'spree/user_sessions',
34
+ passwords: 'spree/user_passwords',
35
+ registrations: 'spree/user_registrations'
36
+ },
37
+ router_name: :spree
38
+ )
39
+ end
40
+ end
41
+ ROUTES
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ class UserPasswordsController < ::Devise::PasswordsController
3
+ include Spree::Storefront::DeviseConcern
4
+
5
+ protected
6
+
7
+ def translation_scope
8
+ 'devise.user_passwords'
9
+ end
10
+
11
+ private
12
+
13
+ def title
14
+ Spree.t(:forgot_password)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ class UserRegistrationsController < ::Devise::RegistrationsController
3
+ include Spree::Storefront::DeviseConcern
4
+
5
+ protected
6
+
7
+ def translation_scope
8
+ 'devise.user_registrations'
9
+ end
10
+
11
+ private
12
+
13
+ def title
14
+ Spree.t(:sign_up)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ class UserSessionsController < ::Devise::SessionsController
3
+ include Spree::Storefront::DeviseConcern
4
+
5
+ protected
6
+
7
+ def translation_scope
8
+ 'devise.user_sessions'
9
+ end
10
+
11
+ private
12
+
13
+ def title
14
+ Spree.t(:login)
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_storefront
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.5
4
+ version: 5.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vendo Connect Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-30 00:00:00.000000000 Z
11
+ date: 2025-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 5.0.5
19
+ version: 5.0.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 5.0.5
26
+ version: 5.0.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: active_link_to
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -205,6 +205,7 @@ files:
205
205
  - app/controllers/concerns/spree/cart_methods.rb
206
206
  - app/controllers/concerns/spree/locale_urls.rb
207
207
  - app/controllers/concerns/spree/password_protected.rb
208
+ - app/controllers/concerns/spree/storefront/devise_concern.rb
208
209
  - app/controllers/concerns/spree/theme_concern.rb
209
210
  - app/controllers/spree/account/addresses_controller.rb
210
211
  - app/controllers/spree/account/base_controller.rb
@@ -515,6 +516,10 @@ files:
515
516
  - config/initializers/heroicon.rb
516
517
  - config/locales/en.yml
517
518
  - config/routes.rb
519
+ - lib/generators/spree/storefront/devise/devise_generator.rb
520
+ - lib/generators/spree/storefront/devise/templates/user_passwords_controller.rb
521
+ - lib/generators/spree/storefront/devise/templates/user_registrations_controller.rb
522
+ - lib/generators/spree/storefront/devise/templates/user_sessions_controller.rb
518
523
  - lib/generators/spree/storefront/install/install_generator.rb
519
524
  - lib/generators/spree/storefront/install/templates/application.tailwind.css
520
525
  - lib/generators/spree/storefront/install/templates/dev
@@ -543,9 +548,9 @@ licenses:
543
548
  - AGPL-3.0-or-later
544
549
  metadata:
545
550
  bug_tracker_uri: https://github.com/spree/spree/issues
546
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.0.5
551
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.0.6
547
552
  documentation_uri: https://docs.spreecommerce.org/
548
- source_code_uri: https://github.com/spree/spree/tree/v5.0.5
553
+ source_code_uri: https://github.com/spree/spree/tree/v5.0.6
549
554
  post_install_message:
550
555
  rdoc_options: []
551
556
  require_paths: