spree_storefront 5.1.0.rc1 → 5.1.1
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 +4 -4
- data/app/controllers/spree/checkout_controller.rb +3 -5
- data/app/helpers/spree/checkout_helper.rb +4 -2
- data/app/views/devise/sessions/new.html.erb +1 -1
- data/app/views/spree/checkout/_address.html.erb +1 -1
- data/app/views/spree/checkout/_line_item.html.erb +4 -2
- data/app/views/spree/checkout/payment/_check.html.erb +1 -0
- data/app/views/themes/default/spree/orders/_line_item.html.erb +2 -0
- data/app/views/themes/default/spree/products/filters/_colors.html.erb +1 -1
- data/app/views/themes/default/spree/shared/_order_details.html.erb +3 -3
- data/app/views/themes/default/spree/shared/_order_line_item.html.erb +2 -0
- data/app/views/themes/default/spree/shared/_order_shipment.html.erb +2 -2
- data/lib/generators/spree/storefront/install/templates/application.tailwind.css +3 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2155acdfdafc07f2dc638d175dacf002f3b54bb1cd06ebf4d56717b32d82294b
|
4
|
+
data.tar.gz: 618ae3ab9826a61075d7a2739481cdc458e766143dee58cc84e20c76086d5b10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ce5bd0deb29869f80f538de0527f29c15cb4d18d4fefa4dc5a7c96e86154cd5b31dbe41f2894b109285c816e5483490b65de2a014896164f4831c7a94e7c9da
|
7
|
+
data.tar.gz: 8d6ebbe307a75a0feeb435f9e183a524dbf4430341abedf8d3096c0ec0a54b79437f0ab87c019f9682a9f7a7e015d3030ce881f05ccafa2361861ed4a1431ee9
|
@@ -228,10 +228,8 @@ module Spree
|
|
228
228
|
@order.checkout_steps.first
|
229
229
|
elsif insufficient_payment?
|
230
230
|
'payment'
|
231
|
-
elsif @order.state == 'cart'
|
232
|
-
|
233
|
-
elsif @order.digital? && @order.delivery?
|
234
|
-
'address'
|
231
|
+
elsif @order.state == 'cart' || (!@order.requires_ship_address? && @order.delivery?)
|
232
|
+
@order.checkout_steps.first
|
235
233
|
else
|
236
234
|
@order.state
|
237
235
|
end
|
@@ -311,7 +309,7 @@ module Spree
|
|
311
309
|
|
312
310
|
def before_address
|
313
311
|
if try_spree_current_user.present?
|
314
|
-
@order.ship_address ||= try_spree_current_user.ship_address
|
312
|
+
@order.ship_address ||= try_spree_current_user.ship_address || try_spree_current_user.bill_address if @order.requires_ship_address?
|
315
313
|
@order.bill_address ||= try_spree_current_user.bill_address
|
316
314
|
end
|
317
315
|
# for guest users or users without addresses, we need to build an empty one here
|
@@ -2,7 +2,7 @@ module Spree
|
|
2
2
|
module CheckoutHelper
|
3
3
|
def checkout_progress(numbers: false)
|
4
4
|
states = (@order.checkout_steps - ['complete']).unshift('cart')
|
5
|
-
states -= ['delivery'] if
|
5
|
+
states -= ['delivery'] if !@order.requires_ship_address? || !@order.delivery_required?
|
6
6
|
|
7
7
|
items = states.each_with_index.map do |state, i|
|
8
8
|
text = Spree.t("order_state.#{state}").titleize
|
@@ -10,9 +10,11 @@ module Spree
|
|
10
10
|
|
11
11
|
css_classes = ['breadcrumb-item']
|
12
12
|
|
13
|
-
|
13
|
+
# cart is not included in checkout_steps, so we need to handle it separately
|
14
|
+
if @order.passed_checkout_step?(state) || state == 'cart'
|
14
15
|
link_content = text
|
15
16
|
link_url = if state == 'cart'
|
17
|
+
# using absolute URL if using headless storefronts
|
16
18
|
spree.cart_url(host: current_store.url_or_custom_domain, order_token: @order.token)
|
17
19
|
else
|
18
20
|
spree.checkout_state_path(@order.token, state)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
</div>
|
18
18
|
<% end %>
|
19
19
|
<div class="actions">
|
20
|
-
<%= f.submit Spree.t(:login), class: 'btn btn-primary w-full' %>
|
20
|
+
<%= f.submit Spree.t(:login), class: 'btn btn-primary w-full', id: 'login-button' %>
|
21
21
|
</div>
|
22
22
|
<% end %>
|
23
23
|
<%= render "devise/shared/links" %>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<% address_type = 'shipping' %>
|
4
4
|
<% address_name = "#{address_type[0...4]}_address" %>
|
5
5
|
|
6
|
-
<% if user_available_addresses.present? %>
|
6
|
+
<% if @order.requires_ship_address? &&user_available_addresses.present? %>
|
7
7
|
<div data-controller="checkout-address-book">
|
8
8
|
<%= turbo_frame_tag :checkout_address_book do %>
|
9
9
|
<div class="mb-4" data-checkout-address-book-target="list">
|
@@ -1,11 +1,13 @@
|
|
1
1
|
<div class="flex justify-between items-center pt-3">
|
2
|
-
<div class="mr-5
|
2
|
+
<div class="mr-5 relative shrink-0">
|
3
3
|
<span class="rounded-full text-xs text-center font-bold pl-[0.5px] py-1 w-6 text-sidebar-text bg-background absolute -right-2 -top-3">
|
4
4
|
<%= line_item.quantity %>
|
5
5
|
</span>
|
6
6
|
<% image = line_item.variant.default_image %>
|
7
7
|
<% if image.present? && image.attached? && image.variable? %>
|
8
|
-
<%= spree_image_tag(image, class: 'rounded border border-default bg-transparent object-cover object-center', loading: :lazy, width:
|
8
|
+
<%= spree_image_tag(image, class: 'rounded border border-default bg-transparent object-cover object-center', loading: :lazy, width: 64, height: 64) %>
|
9
|
+
<% else %>
|
10
|
+
<div class="w-16 h-16 bg-accent border border-default rounded"></div>
|
9
11
|
<% end %>
|
10
12
|
</div>
|
11
13
|
<div class="flex-1 pr-3 text-sm">
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= payment_method.name %>
|
@@ -7,6 +7,8 @@
|
|
7
7
|
<%= link_to spree_storefront_resource_url(line_item.product), data: { 'turbo-frame': '_top' } do %>
|
8
8
|
<%= spree_image_tag(image, width: 128, height: 128, class: 'object-cover', loading: :lazy) %>
|
9
9
|
<% end %>
|
10
|
+
<% else %>
|
11
|
+
<div class="w-32 h-32 bg-accent"></div>
|
10
12
|
<% end %>
|
11
13
|
</div>
|
12
14
|
<div class="ml-3 w-full">
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<% if filter_values.any? %>
|
4
4
|
<div class="st-accordion" data-controller='accordion' data-accordion-close-others-value="false">
|
5
5
|
<%= link_to "#colors_filter", class: "cursor-pointer uppercase flex items-center justify-between h-10 px-4 lg:px-10 text-sm tracking-widest focus:outline-none transition duration-150 ease-in-out #{'st-accordion__icon--opened' if params.dig(:filter, :options, :color).present?}", data: { action: 'accordion#toggle:prevent' } do %>
|
6
|
-
<%=
|
6
|
+
<%= filter.presentation %>
|
7
7
|
<%= render 'spree/shared/icons/chevron_down' %>
|
8
8
|
<% end %>
|
9
9
|
<div class='st-accordion__content' data-accordion-id='colors_filter'>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
<% if order.special_instructions.present? %>
|
28
28
|
<div class="p-4 lg:p-6 text-sm border">
|
29
|
-
<div class="uppercase tracking-widest mb-
|
29
|
+
<div class="uppercase tracking-widest mb-2">
|
30
30
|
<%= I18n.t('activerecord.attributes.spree/order.special_instructions') %>
|
31
31
|
</div>
|
32
32
|
<div class="!leading-[1.375rem] text-neutral-800">
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4 lg:gap-6 p-4 lg:p-6 text-sm bg-border bg-accent-100">
|
40
40
|
<!-- billing address -->
|
41
41
|
<div>
|
42
|
-
<div class="uppercase tracking-widest">
|
42
|
+
<div class="uppercase tracking-widest mb-2">
|
43
43
|
<%= Spree.t(:billing_address) %>
|
44
44
|
</div>
|
45
45
|
<div class="!leading-[1.375rem] text-neutral-800">
|
@@ -48,7 +48,7 @@
|
|
48
48
|
</div>
|
49
49
|
<!-- payment into -->
|
50
50
|
<div class="mb-5 lg:mb-0">
|
51
|
-
<div class="uppercase tracking-widest">
|
51
|
+
<div class="uppercase tracking-widest mb-2">
|
52
52
|
<%= Spree.t(:payment_information) %>
|
53
53
|
</div>
|
54
54
|
<div class="!leading-[1.375rem] text-neutral-800">
|
@@ -8,6 +8,8 @@
|
|
8
8
|
<%= link_to spree_storefront_resource_url(line_item.product, relative: true) do %>
|
9
9
|
<%= spree_image_tag(image, width: 128, height: 128, loading: :lazy) %>
|
10
10
|
<% end %>
|
11
|
+
<% else %>
|
12
|
+
<div class="w-32 h-32 bg-accent"></div>
|
11
13
|
<% end %>
|
12
14
|
</div>
|
13
15
|
<div class="flex flex-col gap-2">
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="flex flex-col lg:flex-row lg:gap-6 gap-4">
|
4
4
|
<% if shipment.order.requires_ship_address? %>
|
5
5
|
<div class="text-sm lg:w-1/2">
|
6
|
-
<div class="tracking-widest uppercase mb-
|
6
|
+
<div class="tracking-widest uppercase mb-2">
|
7
7
|
<%= Spree.t(:delivery_address) %>
|
8
8
|
</div>
|
9
9
|
<div class="!leading-[1.375rem] text-neutral-800">
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<% end %>
|
15
15
|
<div class="text-sm lg:w-1/2 lg:flex justify-between">
|
16
16
|
<div>
|
17
|
-
<div class="tracking-widest uppercase mb-
|
17
|
+
<div class="tracking-widest uppercase mb-2">
|
18
18
|
<%= Spree.t(:shipping_method) %>
|
19
19
|
</div>
|
20
20
|
<div class="!leading-[1.375rem] text-neutral-800">
|
@@ -525,6 +525,7 @@ a:hover {
|
|
525
525
|
.badge-ready,
|
526
526
|
.badge-partial,
|
527
527
|
.badge-active,
|
528
|
+
.badge-balance_due,
|
528
529
|
.badge-inactive {
|
529
530
|
margin-right: 0.25rem;
|
530
531
|
display: inline-block;
|
@@ -548,6 +549,7 @@ a:hover {
|
|
548
549
|
.badge-void:last-child,
|
549
550
|
.badge-pending:last-child,
|
550
551
|
.badge-ready:last-child,
|
552
|
+
.badge-balance_due:last-child,
|
551
553
|
.badge-partial:last-child {
|
552
554
|
margin-right: 0px;
|
553
555
|
}
|
@@ -560,6 +562,7 @@ a:hover {
|
|
560
562
|
|
561
563
|
.badge-warning,
|
562
564
|
.badge-canceled,
|
565
|
+
.badge-balance_due,
|
563
566
|
.badge-failed {
|
564
567
|
background-color: #f8e7e5;
|
565
568
|
}
|
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.1.
|
4
|
+
version: 5.1.1
|
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-07-
|
11
|
+
date: 2025-07-08 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.1.
|
19
|
+
version: 5.1.1
|
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.1.
|
26
|
+
version: 5.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: active_link_to
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -560,9 +560,9 @@ licenses:
|
|
560
560
|
- AGPL-3.0-or-later
|
561
561
|
metadata:
|
562
562
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
563
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v5.1.
|
563
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v5.1.1
|
564
564
|
documentation_uri: https://docs.spreecommerce.org/
|
565
|
-
source_code_uri: https://github.com/spree/spree/tree/v5.1.
|
565
|
+
source_code_uri: https://github.com/spree/spree/tree/v5.1.1
|
566
566
|
post_install_message:
|
567
567
|
rdoc_options: []
|
568
568
|
require_paths:
|