spree_frontend 4.2.0.beta → 4.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/info.svg +7 -0
- data/app/assets/javascripts/spree/frontend/checkout/payment.js +19 -17
- data/app/assets/stylesheets/spree/frontend.css +0 -1
- data/app/assets/stylesheets/spree/frontend/components-custom/inputs.scss +6 -0
- data/app/assets/stylesheets/spree/frontend/helpers/spree/frontend_helper.scss +7 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/checkout/confirm.scss +0 -4
- data/app/assets/stylesheets/spree/frontend/views/spree/checkout/edit.scss +3 -4
- data/app/assets/stylesheets/spree/frontend/views/spree/users/show.scss +0 -6
- data/app/controllers/spree/products_controller.rb +28 -12
- data/app/helpers/spree/frontend_helper.rb +7 -1
- data/app/views/spree/addresses/edit.html.erb +13 -8
- data/app/views/spree/addresses/new.html.erb +5 -1
- data/app/views/spree/checkout/_address.html.erb +12 -11
- data/app/views/spree/checkout/_confirm.html.erb +1 -1
- data/app/views/spree/checkout/_payment.html.erb +1 -20
- data/app/views/spree/checkout/_payment_sources.html.erb +17 -0
- data/app/views/spree/shared/_checkout_header.html.erb +1 -1
- data/app/views/spree/shared/_head.html.erb +2 -1
- data/app/views/spree/users/_address.html.erb +15 -19
- data/app/views/spree/users/_address_controls.html.erb +11 -0
- data/app/views/spree/users/show.html.erb +12 -10
- metadata +15 -13
- data/app/assets/stylesheets/spree/frontend/address_book.scss +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6310325fadb8490372ab3956820adacc3f2863efafc90657479af4154fecf2c
|
4
|
+
data.tar.gz: fc6a855e4f78e5f08dd5e1df605199a1ca3cdef09e7f3e62daf41f532c825f15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dad2b913fb4f1ac3ec06fc49586c1918b5a3fe68393b65231ac7f52348b74cd6b9ea083890afa857a85bbe7f94a59dd4a379bc5b4b146a3dd6a3eb6b2b9201f4
|
7
|
+
data.tar.gz: bc89753cb7503a7823d1ac2af023f23bdd1d9a022d8351393967e878845faa8ce8ee6bbc82510278b2454d795cb804c2aa236e9b730b1ce78864f373ab133419
|
@@ -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>
|
@@ -8,20 +8,7 @@ Spree.ready(function ($) {
|
|
8
8
|
Spree.onPayment = function () {
|
9
9
|
if ($('#checkout_form_payment').length) {
|
10
10
|
if ($('#existing_cards').length) {
|
11
|
-
$('#existing_cards').hide()
|
12
11
|
$('#payment-methods').hide()
|
13
|
-
$("#payment-method-fields label[data-type='card']").click(function() {
|
14
|
-
$('#existing_cards').show()
|
15
|
-
$('.payment-sources').show()
|
16
|
-
$('.existing-cc-radio').first().prop('checked', true)
|
17
|
-
})
|
18
|
-
$("#payment-method-fields label:not([data-type='card'])").click(function() {
|
19
|
-
$('#existing_cards').hide()
|
20
|
-
$('#payment-methods').hide()
|
21
|
-
$('.payment-sources').hide()
|
22
|
-
$('.existing-cc-radio').prop('checked', false)
|
23
|
-
$('#use_existing_card_no').prop('checked', false)
|
24
|
-
})
|
25
12
|
$('.existing-cc-radio').click(function () {
|
26
13
|
$(this).prop('checked', true)
|
27
14
|
$('#use_existing_card_no').prop('checked', false)
|
@@ -60,11 +47,26 @@ Spree.ready(function ($) {
|
|
60
47
|
}
|
61
48
|
|
62
49
|
$('input[type="radio"][name="order[payments_attributes][][payment_method_id]"]').click(function () {
|
50
|
+
$('#payment-methods').hide()
|
51
|
+
$('.payment-sources').hide()
|
63
52
|
Spree.enableSave()
|
64
|
-
if ($('#payment_method_' + this.value).find('fieldset').children().length
|
65
|
-
|
66
|
-
|
67
|
-
|
53
|
+
if ($('#payment_method_' + this.value).find('fieldset').children().length !== 0) {
|
54
|
+
if (this.closest('label').dataset.type === 'card') {
|
55
|
+
if ($('#existing_cards').length) {
|
56
|
+
$('.existing-cc-radio').first().prop('checked', true);
|
57
|
+
$('#use_existing_card_no').prop('checked', false)
|
58
|
+
$('#use_existing_card_yes').prop('checked', true)
|
59
|
+
$('#existing_cards').show();
|
60
|
+
$('#payment-methods').hide();
|
61
|
+
$('.payment-sources').show()
|
62
|
+
}
|
63
|
+
} else {
|
64
|
+
$('.existing-cc-radio').prop('checked', false);
|
65
|
+
$('#use_existing_card_no').prop('checked', false);
|
66
|
+
$('#existing_cards').hide();
|
67
|
+
$('#payment-methods').show();
|
68
|
+
$('.payment-sources').show()
|
69
|
+
}
|
68
70
|
}
|
69
71
|
$('#payment-methods li').hide()
|
70
72
|
if (this.checked) {
|
@@ -1,6 +1,7 @@
|
|
1
1
|
#breadcrumbs {
|
2
2
|
padding: 0;
|
3
3
|
}
|
4
|
+
|
4
5
|
.breadcrumb {
|
5
6
|
background: none;
|
6
7
|
padding: 0.5rem 0;
|
@@ -23,3 +24,9 @@
|
|
23
24
|
.breadcrumb-product-name {
|
24
25
|
padding-right: 9.5px;
|
25
26
|
}
|
27
|
+
|
28
|
+
.truncate {
|
29
|
+
white-space: nowrap;
|
30
|
+
overflow: hidden;
|
31
|
+
text-overflow: ellipsis;
|
32
|
+
}
|
@@ -494,9 +494,6 @@
|
|
494
494
|
font-size: font-px-to-rem(16px);
|
495
495
|
}
|
496
496
|
}
|
497
|
-
.delete-address-img {
|
498
|
-
color: $primary-color;
|
499
|
-
}
|
500
497
|
}
|
501
498
|
|
502
499
|
#checkout-summary {
|
@@ -508,7 +505,8 @@
|
|
508
505
|
height: 100%;
|
509
506
|
padding: 0;
|
510
507
|
max-width: 380px;
|
511
|
-
|
508
|
+
margin-right: 0;
|
509
|
+
margin-left: auto;
|
512
510
|
}
|
513
511
|
}
|
514
512
|
|
@@ -517,3 +515,4 @@
|
|
517
515
|
}
|
518
516
|
}
|
519
517
|
}
|
518
|
+
|
@@ -12,16 +12,7 @@ module Spree
|
|
12
12
|
@searcher = build_searcher(params.merge(include_images: true, current_store_id: current_store.id))
|
13
13
|
@products = @searcher.retrieve_products
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
etag = [
|
18
|
-
store_etag,
|
19
|
-
last_modified&.to_i,
|
20
|
-
available_option_types_cache_key,
|
21
|
-
filtering_params_cache_key
|
22
|
-
]
|
23
|
-
|
24
|
-
fresh_when etag: etag, last_modified: last_modified, public: true
|
15
|
+
fresh_when etag: etag_index, last_modified: last_modified_index, public: true
|
25
16
|
end
|
26
17
|
|
27
18
|
def show
|
@@ -29,7 +20,7 @@ module Spree
|
|
29
20
|
|
30
21
|
@taxon = params[:taxon_id].present? ? Spree::Taxon.find(params[:taxon_id]) : @product.taxons.first
|
31
22
|
|
32
|
-
if stale?(etag:
|
23
|
+
if stale?(etag: etag_show, last_modified: last_modified_show, public: true)
|
33
24
|
@product_summary = Spree::ProductSummaryPresenter.new(@product).call
|
34
25
|
@product_properties = @product.product_properties.includes(:property)
|
35
26
|
@product_price = @product.price_in(current_currency).amount
|
@@ -96,7 +87,16 @@ module Spree
|
|
96
87
|
end
|
97
88
|
end
|
98
89
|
|
99
|
-
def
|
90
|
+
def etag_index
|
91
|
+
[
|
92
|
+
store_etag,
|
93
|
+
last_modified_index,
|
94
|
+
available_option_types_cache_key,
|
95
|
+
filtering_params_cache_key
|
96
|
+
]
|
97
|
+
end
|
98
|
+
|
99
|
+
def etag_show
|
100
100
|
[
|
101
101
|
store_etag,
|
102
102
|
@product,
|
@@ -105,5 +105,21 @@ module Spree
|
|
105
105
|
@product.possible_promotions.maximum(:updated_at),
|
106
106
|
]
|
107
107
|
end
|
108
|
+
|
109
|
+
alias product_etag etag_show
|
110
|
+
|
111
|
+
def last_modified_index
|
112
|
+
products_last_modified = @products.maximum(:updated_at)&.utc if @products.respond_to?(:maximum)
|
113
|
+
current_store_last_modified = current_store.updated_at.utc
|
114
|
+
|
115
|
+
[products_last_modified, current_store_last_modified].compact.max
|
116
|
+
end
|
117
|
+
|
118
|
+
def last_modified_show
|
119
|
+
product_last_modified = @product.updated_at.utc
|
120
|
+
current_store_last_modified = current_store.updated_at.utc
|
121
|
+
|
122
|
+
[product_last_modified, current_store_last_modified].compact.max
|
123
|
+
end
|
108
124
|
end
|
109
125
|
end
|
@@ -166,7 +166,13 @@ module Spree
|
|
166
166
|
|
167
167
|
def plp_and_carousel_image(product, image_class = '')
|
168
168
|
image = default_image_for_product_or_variant(product)
|
169
|
-
|
169
|
+
|
170
|
+
image_url = if image.present?
|
171
|
+
main_app.url_for(image.url('plp'))
|
172
|
+
else
|
173
|
+
asset_path('noimage/plp.png')
|
174
|
+
end
|
175
|
+
|
170
176
|
image_style = image&.style(:plp)
|
171
177
|
|
172
178
|
lazy_image(
|
@@ -1,13 +1,18 @@
|
|
1
1
|
<%= render 'spree/shared/error_messages', target: @address %>
|
2
2
|
<div class="col-lg-6 offset-lg-3">
|
3
|
-
<h3 class="spree-header spree-mb-large spree-mt-large"><%= t(:
|
3
|
+
<h3 class="spree-header spree-mb-large spree-mt-large"><%= Spree.t(:edit_address, scope: :address_book) %></h3>
|
4
4
|
<%= form_for @address, html: { id: 'checkout_form_address' } do |f| %>
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
<div class="form-group checkout-content-inner-field mb-5 has-float-label">
|
6
|
+
<%= f.text_field :label, class: 'spree-flat-input', placeholder: Spree.t(:address_name_placeholder, scope: :address_book) %>
|
7
|
+
<%= f.label :address_name, Spree.t(:label, scope: :address_book) %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<%= render 'spree/addresses/form',
|
11
|
+
address_name: 'address',
|
12
|
+
address_form: f,
|
13
|
+
address_type: 'shipping',
|
14
|
+
address: @address
|
15
|
+
%>
|
16
|
+
<%= f.submit Spree.t(:update), class: 'btn btn-primary btn-block spree-btn mb-5' %>
|
12
17
|
<% end %>
|
13
18
|
</div>
|
@@ -1,7 +1,11 @@
|
|
1
1
|
<%= render 'spree/shared/error_messages', target: @address %>
|
2
2
|
<div class="col-lg-6 offset-lg-3">
|
3
|
-
<h3 class="spree-header spree-mb-large spree-mt-large"><%= t(:
|
3
|
+
<h3 class="spree-header spree-mb-large spree-mt-large"><%= Spree.t(:new_address, scope: :address_book) %></h3>
|
4
4
|
<%= form_for @address, html: { id: 'checkout_form_address' } do |f| %>
|
5
|
+
<div class="form-group checkout-content-inner-field mb-5 has-float-label">
|
6
|
+
<%= f.text_field :label, class: 'spree-flat-input', placeholder: Spree.t(:address_name_placeholder, scope: :address_book) %>
|
7
|
+
<%= f.label :address_name, Spree.t(:label, scope: :address_book) %>
|
8
|
+
</div>
|
5
9
|
<%= render 'spree/addresses/form',
|
6
10
|
address_name: 'address',
|
7
11
|
address_form: f,
|
@@ -29,23 +29,24 @@
|
|
29
29
|
</div>
|
30
30
|
<% end %>
|
31
31
|
<% if @addresses.present? %>
|
32
|
-
<div class="select_address">
|
33
|
-
<div class="form-group">
|
32
|
+
<div class="select_address mb-5">
|
33
|
+
<div class="form-group col">
|
34
34
|
<% @addresses.each_with_index do |address, idx| %>
|
35
|
-
<
|
36
|
-
<label class="form-check-label spree-radio-label">
|
35
|
+
<div class="row mb-3" id="<%= [address_type, dom_id(address)].join('_') %>">
|
36
|
+
<label class="form-check-label spree-radio-label col-8">
|
37
37
|
<%= form.radio_button "#{address_name}_id", address.id, checked: (address.id == try_spree_current_user["#{address_name}_id"] || idx == 0) %>
|
38
38
|
<span class="spree-radio-label-custom-input"></span>
|
39
|
-
<span class="d-inline-block align-top">
|
40
39
|
<%= render "spree/users/address", address: address %>
|
41
|
-
</span>
|
42
40
|
</label>
|
43
|
-
|
41
|
+
<%= render "spree/users/address_controls", address: address %>
|
42
|
+
</div>
|
44
43
|
<% end %>
|
45
|
-
<
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
<div class="row mb-3">
|
45
|
+
<label class="form-check-label spree-radio-label col">
|
46
|
+
<%= form.radio_button "#{address_name}_id", 0, class: 'form-check-input' %> <h4><%= Spree.t('address_book.other_address') %></h4>
|
47
|
+
<span class="spree-radio-label-custom-input"></span>
|
48
|
+
</label>
|
49
|
+
</div>
|
49
50
|
</div>
|
50
51
|
</div>
|
51
52
|
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<p class="checkout-content-header">
|
3
3
|
<%= Spree.t(:summary).upcase %>
|
4
4
|
</p>
|
5
|
-
<div class='checkout-confirm-order-details
|
5
|
+
<div class='checkout-confirm-order-details' id="order_summary" data-hook>
|
6
6
|
<%= render partial: 'spree/checkout/delivery_informations', locals: { class_name: 'd-none d-lg-block' } %>
|
7
7
|
<div class="checkout-confirm-order-details-line-items d-flex flex-column align-items-center w-100">
|
8
8
|
<div class="checkout-confirm-order-details-line-items-header d-none d-sm-block d-lg-none align-self-start mb-3">
|
@@ -4,7 +4,6 @@
|
|
4
4
|
</p>
|
5
5
|
|
6
6
|
<div data-hook="checkout_payment_step">
|
7
|
-
|
8
7
|
<%= render partial: 'spree/checkout/payment/storecredit' %>
|
9
8
|
|
10
9
|
<ul id="payment-method-fields" class="list-unstyled position-relative" data-hook>
|
@@ -22,25 +21,7 @@
|
|
22
21
|
</ul>
|
23
22
|
|
24
23
|
<div class="payment-sources">
|
25
|
-
|
26
|
-
<div id="existing_cards" class="payment-sources-existing-cards">
|
27
|
-
<%= radio_button_tag 'use_existing_card', 'yes', true, class: 'd-none' %>
|
28
|
-
<div class="form-group" data-hook="existing_cards">
|
29
|
-
<div class="d-flex flex-column payment-sources-list">
|
30
|
-
<% @payment_sources.each do |card| %>
|
31
|
-
<%= render partial: 'credit_card', locals: { card: card } %>
|
32
|
-
<% end %>
|
33
|
-
<div>
|
34
|
-
<label class="form-check-label spree-radio-label col-6 mb-2">
|
35
|
-
<%= radio_button_tag 'use_existing_card', 'no' %>
|
36
|
-
<span class="spree-radio-label-custom-input"></span>
|
37
|
-
<span><%= Spree.t(:add_new_credit_card) %></span>
|
38
|
-
</label>
|
39
|
-
</div>
|
40
|
-
</div>
|
41
|
-
</div>
|
42
|
-
</div>
|
43
|
-
<% end %>
|
24
|
+
<%= render partial: 'payment_sources' if @payment_sources.present? %>
|
44
25
|
|
45
26
|
<ul id="payment-methods" class="list-unstyled position-relative mb-0 payment-sources-add-form" data-hook>
|
46
27
|
<% checkout_available_payment_methods.each do |method| %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id="existing_cards" class="payment-sources-existing-cards" style="display:none;">
|
2
|
+
<%= radio_button_tag 'use_existing_card', 'yes', true, class: 'd-none' %>
|
3
|
+
<div class="form-group" data-hook="existing_cards">
|
4
|
+
<div class="d-flex flex-column payment-sources-list">
|
5
|
+
<% @payment_sources.each do |card| %>
|
6
|
+
<%= render partial: 'credit_card', locals: { card: card } %>
|
7
|
+
<% end %>
|
8
|
+
<div>
|
9
|
+
<label class="form-check-label spree-radio-label col-6 mb-2">
|
10
|
+
<%= radio_button_tag 'use_existing_card', 'no' %>
|
11
|
+
<span class="spree-radio-label-custom-input"></span>
|
12
|
+
<span><%= Spree.t(:add_new_credit_card) %></span>
|
13
|
+
</label>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
</div>
|
21
21
|
<div class="d-flex flex-nowrap align-items-center justify-content-center">
|
22
22
|
<figure class="logo flex-grow-0 flex-xl-grow-0 order-xl-0 header-spree-fluid-logo m-0">
|
23
|
-
<%= logo %>
|
23
|
+
<%= logo(nil, {method: :get}) %>
|
24
24
|
</figure>
|
25
25
|
</div>
|
26
26
|
</div>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<title><%= title %></title>
|
2
2
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
3
|
-
<%==
|
3
|
+
<%== og_meta_data_tags %>
|
4
4
|
<%== meta_data_tags %>
|
5
|
+
<%== meta_robots %>
|
5
6
|
<%= canonical_tag(current_store.url) %>
|
6
7
|
<%= favicon_link_tag 'favicon.ico' %>
|
7
8
|
<%= stylesheet_link_tag 'spree/frontend/all', media: 'screen', 'data-turbolinks-track': 'reload' %>
|
@@ -1,21 +1,17 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<div><%= address.country.name %></div>
|
11
|
-
</address>
|
1
|
+
<address class="mb-0 col-12">
|
2
|
+
<% if address.label&.present? %>
|
3
|
+
<h4 class="m-0 truncate"><%= address.label %></h4>
|
4
|
+
<% end %>
|
5
|
+
<span class="account-page-user-full-name">
|
6
|
+
<%= address.full_name %>
|
7
|
+
</span>
|
8
|
+
<div>
|
9
|
+
<%= "#{address.address1} #{address.address2}" %>,
|
12
10
|
</div>
|
13
|
-
<div
|
14
|
-
|
15
|
-
<%= inline_svg_tag 'garbage_2.svg', class: "delete-address-img" %>
|
16
|
-
</div>
|
17
|
-
<%= link_to spree.edit_address_path(address), method: :get, class: 'address-button px-1', role: 'button', data: { hook: 'edit_address' } do %>
|
18
|
-
<%= inline_svg_tag 'edit.svg', class: "delete-address-img" %>
|
19
|
-
<% end %>
|
11
|
+
<div>
|
12
|
+
<%= "#{address.city}, #{address.state&.abbr} #{address.zipcode}" %>,
|
20
13
|
</div>
|
21
|
-
|
14
|
+
<div>
|
15
|
+
<%= address.country.name %>
|
16
|
+
</div>
|
17
|
+
</address>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= link_to(spree.edit_address_path(address), method: :get, class: 'ml-1 d-inline-block', data: { hook: 'edit_address' }) do %>
|
2
|
+
<%= inline_svg_tag('edit.svg', width: 24, height: 24) %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%= link_to '#', class: 'js-delete-address-link ml-3', data: { turbolinks: false, hook: 'remove_address', address: spree.address_path(address) }, aria: { label: Spree.t('address_book.remove_address') } do %>
|
6
|
+
<%= icon(name: 'garbage_2',
|
7
|
+
classes: '',
|
8
|
+
width: 24,
|
9
|
+
height: 24)
|
10
|
+
%>
|
11
|
+
<% end %>
|
@@ -5,8 +5,8 @@
|
|
5
5
|
<div class="col-xs-12 col-lg-4">
|
6
6
|
<dt class="text-uppercase account-page-user-info-item-title">
|
7
7
|
<%= Spree.t(:account_info) %>
|
8
|
-
|
9
|
-
<%= inline_svg_tag
|
8
|
+
<%= link_to spree.edit_user_path(@user), class: "account-page-user-info-item-title-edit" do %>
|
9
|
+
<%= inline_svg_tag('edit.svg', width: 27.6, height: 24) %>
|
10
10
|
<% end %>
|
11
11
|
</dt>
|
12
12
|
<dd class="account-page-user-info-item-definition"><%= @user.email %></dd>
|
@@ -18,18 +18,21 @@
|
|
18
18
|
</div>
|
19
19
|
</div>
|
20
20
|
<div class="col-xs-12 col-lg-8 mt-sm-5 mt-lg-0">
|
21
|
-
|
22
|
-
|
21
|
+
<h4 class="mb-3"><%= link_to Spree.t(:add_new_address), spree.new_address_path, method: :get %></h4>
|
23
22
|
<div class="row">
|
24
23
|
<% @user.addresses.each_with_index do |address, index| %>
|
25
|
-
<div class="col-
|
24
|
+
<div class="col-12 col-sm-6 mb-3">
|
26
25
|
<% index += 1 %>
|
27
26
|
<% if index % 3 == 0 %>
|
28
|
-
<div class="account-page-user-info-item">
|
29
|
-
</div>
|
27
|
+
<div class="account-page-user-info-item my-4"></div>
|
30
28
|
<% end %>
|
31
|
-
<div class="
|
32
|
-
|
29
|
+
<div class="row">
|
30
|
+
<div class="col-8 col-lg-6">
|
31
|
+
<%= render "spree/users/address", address: address %>
|
32
|
+
</div>
|
33
|
+
<div class="col">
|
34
|
+
<%= render "spree/users/address_controls", address: address %>
|
35
|
+
</div>
|
33
36
|
</div>
|
34
37
|
</div>
|
35
38
|
<% end %>
|
@@ -38,7 +41,6 @@
|
|
38
41
|
</div>
|
39
42
|
|
40
43
|
<div data-hook="account_my_orders" class="account-page-orders" id="account-my-orders">
|
41
|
-
|
42
44
|
<h3 class="text-uppercase spree-mb-medium spree-mt-medium spree-header" ><%= Spree.t(:my_orders) %></h3>
|
43
45
|
<% if @orders.present? %>
|
44
46
|
<table>
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.0.
|
4
|
+
version: 4.2.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
- Spark Solutions
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-10-15 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.
|
20
|
+
version: 4.2.0.rc1
|
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.
|
27
|
+
version: 4.2.0.rc1
|
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.
|
34
|
+
version: 4.2.0.rc1
|
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.
|
41
|
+
version: 4.2.0.rc1
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: bootstrap
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -487,6 +487,7 @@ files:
|
|
487
487
|
- app/assets/images/homepage/promo_banner_right_mobile.jpg
|
488
488
|
- app/assets/images/homepage/promo_banner_right_tablet_landscape.jpg
|
489
489
|
- app/assets/images/homepage/promo_banner_right_tablet_portrait.jpg
|
490
|
+
- app/assets/images/info.svg
|
490
491
|
- app/assets/images/instagram.svg
|
491
492
|
- app/assets/images/logo-spree.png
|
492
493
|
- app/assets/images/logo.png
|
@@ -570,7 +571,6 @@ files:
|
|
570
571
|
- app/assets/javascripts/spree/frontend/views/spree/shared/variant_select.js
|
571
572
|
- app/assets/javascripts/spree/lazysizes.config.js
|
572
573
|
- app/assets/stylesheets/spree/frontend.css
|
573
|
-
- app/assets/stylesheets/spree/frontend/address_book.scss
|
574
574
|
- app/assets/stylesheets/spree/frontend/application.scss
|
575
575
|
- app/assets/stylesheets/spree/frontend/bootstrap-patches.scss
|
576
576
|
- app/assets/stylesheets/spree/frontend/components-bootstrap/.gitkeep
|
@@ -672,6 +672,7 @@ files:
|
|
672
672
|
- app/views/spree/checkout/_delivery.html.erb
|
673
673
|
- app/views/spree/checkout/_delivery_informations.html.erb
|
674
674
|
- app/views/spree/checkout/_payment.html.erb
|
675
|
+
- app/views/spree/checkout/_payment_sources.html.erb
|
675
676
|
- app/views/spree/checkout/_summary.html.erb
|
676
677
|
- app/views/spree/checkout/edit.html.erb
|
677
678
|
- app/views/spree/checkout/payment/_check.html.erb
|
@@ -762,6 +763,7 @@ files:
|
|
762
763
|
- app/views/spree/taxons/product_carousel.html.erb
|
763
764
|
- app/views/spree/taxons/show.html.erb
|
764
765
|
- app/views/spree/users/_address.html.erb
|
766
|
+
- app/views/spree/users/_address_controls.html.erb
|
765
767
|
- app/views/spree/users/edit.html.erb
|
766
768
|
- app/views/spree/users/show.html.erb
|
767
769
|
- config/initializers/assets.rb
|
@@ -782,10 +784,10 @@ licenses:
|
|
782
784
|
- BSD-3-Clause
|
783
785
|
metadata:
|
784
786
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
785
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.
|
787
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc1
|
786
788
|
documentation_uri: https://guides.spreecommerce.org/
|
787
|
-
source_code_uri: https://github.com/spree/spree/tree/v4.2.0.
|
788
|
-
post_install_message:
|
789
|
+
source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc1
|
790
|
+
post_install_message:
|
789
791
|
rdoc_options: []
|
790
792
|
require_paths:
|
791
793
|
- lib
|
@@ -801,8 +803,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
801
803
|
version: 1.3.1
|
802
804
|
requirements:
|
803
805
|
- none
|
804
|
-
rubygems_version: 3.1.
|
805
|
-
signing_key:
|
806
|
+
rubygems_version: 3.1.4
|
807
|
+
signing_key:
|
806
808
|
specification_version: 4
|
807
809
|
summary: Frontend e-commerce functionality for the Spree project.
|
808
810
|
test_files: []
|