forked from M3-Academy/challenge-vtex-io
feat(pdp-main-view): created initial components using vtex blocks
This commit is contained in:
parent
07e782dee6
commit
52beb142fb
62
store/blocks/pdp/product-shelf.jsonc
Normal file
62
store/blocks/pdp/product-shelf.jsonc
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"list-context.product-list#pdp-shelf": {
|
||||||
|
"blocks": ["product-summary.shelf#pdp-shelf"],
|
||||||
|
"children": ["html#pdp-slider-shelf"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"html#pdp-slider-shelf-title": {
|
||||||
|
"children": ["rich-text#pdp-shelf-title"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"html#pdp-slider-shelf": {
|
||||||
|
"props": {
|
||||||
|
"testId": "product-summary-list"
|
||||||
|
},
|
||||||
|
"children": ["slider-layout#pdp-shelf"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"html#list-context-pdp-shelf": {
|
||||||
|
"props": {
|
||||||
|
"testId": "product-summary-list"
|
||||||
|
},
|
||||||
|
"children": ["list-context.product-list#pdp-shelf"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rich-text#pdp-shelf-title": {
|
||||||
|
"props": {
|
||||||
|
"text": "## Você também pode gostar:",
|
||||||
|
"textPosition": "CENTER",
|
||||||
|
"textAlignment": "CENTER"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"slider-layout#pdp-shelf": {
|
||||||
|
"props": {
|
||||||
|
"blockClass": "productShelf",
|
||||||
|
"infinite": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"product-summary.shelf#pdp-shelf": {
|
||||||
|
"children": [
|
||||||
|
"product-summary-image#pdp-shelf",
|
||||||
|
"product-summary-name",
|
||||||
|
"product-summary-price#pdp-shelf"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"product-summary-image#pdp-shelf": {
|
||||||
|
"props": {
|
||||||
|
"showBadge": false,
|
||||||
|
"alabelSellingPricespectRatio": "1:1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"product-summary-price#pdp-shelf": {
|
||||||
|
"props": {
|
||||||
|
"showInstallments": false,
|
||||||
|
"labelListPrice": "de",
|
||||||
|
"labelSellingPrice": "por"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -4,37 +4,13 @@
|
|||||||
"html#breadcrumb",
|
"html#breadcrumb",
|
||||||
"condition-layout.product#availability",
|
"condition-layout.product#availability",
|
||||||
"tab-layout#product-specification",
|
"tab-layout#product-specification",
|
||||||
"shelf.relatedProducts#pdp-shelf-related",
|
"html#pdp-slider-shelf-title",
|
||||||
|
"html#list-context-pdp-shelf",
|
||||||
"newsletter",
|
"newsletter",
|
||||||
"product-questions-and-answers"
|
"product-questions-and-answers"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
"shelf.relatedProducts#pdp-shelf-related": {
|
|
||||||
"blocks": ["product-summary.shelf#pdp-shelf-related"],
|
|
||||||
"props": {
|
|
||||||
"productList": {
|
|
||||||
"titleText": "Você também pode gostar:"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"product-summary.shelf#pdp-shelf-related": {
|
|
||||||
"children": [
|
|
||||||
"product-summary-image",
|
|
||||||
"product-summary-name",
|
|
||||||
"product-summary-price"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"product-summary-price": {},
|
|
||||||
|
|
||||||
"product-summary-image": {
|
|
||||||
"props": {
|
|
||||||
"showBadge": false,
|
|
||||||
"aspectRatio": "1:1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"html#breadcrumb": {
|
"html#breadcrumb": {
|
||||||
"props": {
|
"props": {
|
||||||
"tag": "section",
|
"tag": "section",
|
||||||
@ -141,9 +117,9 @@
|
|||||||
"flex-layout.row#selling-price",
|
"flex-layout.row#selling-price",
|
||||||
"product-installments",
|
"product-installments",
|
||||||
"html#sku-selector",
|
"html#sku-selector",
|
||||||
"product-quantity",
|
|
||||||
"product-gifts",
|
"product-gifts",
|
||||||
"flex-layout.row#buy-button",
|
"flex-layout.row#pdp-buy-actions",
|
||||||
"availability-subscriber",
|
"availability-subscriber",
|
||||||
"shipping-simulator"
|
"shipping-simulator"
|
||||||
]
|
]
|
||||||
@ -192,6 +168,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"flex-layout.row#pdp-buy-actions": {
|
||||||
|
"children": ["html#pdp-product-quantity", "html#add-to-cart-button"]
|
||||||
|
},
|
||||||
|
|
||||||
"flex-layout.row#buy-button": {
|
"flex-layout.row#buy-button": {
|
||||||
"props": {
|
"props": {
|
||||||
"marginTop": 4,
|
"marginTop": 4,
|
||||||
@ -208,6 +188,19 @@
|
|||||||
"children": ["add-to-cart-button#pdp-add-to-cart-button"]
|
"children": ["add-to-cart-button#pdp-add-to-cart-button"]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"html#pdp-product-quantity": {
|
||||||
|
"props": {
|
||||||
|
"testId": "product-quantity"
|
||||||
|
},
|
||||||
|
"children": ["product-quantity"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"product-quantity": {
|
||||||
|
"props": {
|
||||||
|
"showLabel": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"add-to-cart-button#pdp-add-to-cart-button": {
|
"add-to-cart-button#pdp-add-to-cart-button": {
|
||||||
"props": {
|
"props": {
|
||||||
"text": "Adicionar à sacola",
|
"text": "Adicionar à sacola",
|
||||||
|
21
styles/css/vtex.product-quantity.css
Normal file
21
styles/css/vtex.product-quantity.css
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
0 - 600PX: Phone
|
||||||
|
600 - 900px: Table portrait
|
||||||
|
900 - 1200px: Tablet landscape
|
||||||
|
[1200 - 1800] is where our nortal styles apply
|
||||||
|
1800px + : Big desktop
|
||||||
|
*/
|
||||||
|
/* Media Query M3 */
|
||||||
|
/* Grid breakpoints */
|
||||||
|
.quantitySelectorStepper :global(.vtex-numeric-stepper-wrapper) {
|
||||||
|
width: 128px;
|
||||||
|
min-height: 49px;
|
||||||
|
}
|
||||||
|
.quantitySelectorStepper :global(.vtex-numeric-stepper__input) {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.quantitySelectorStepper :global(.vtex-numeric-stepper__plus-button-container),
|
||||||
|
.quantitySelectorStepper :global(.vtex-numeric-stepper__minus-button-container) {
|
||||||
|
height: 100%;
|
||||||
|
}
|
@ -1,9 +1,18 @@
|
|||||||
|
/*
|
||||||
|
0 - 600PX: Phone
|
||||||
|
600 - 900px: Table portrait
|
||||||
|
900 - 1200px: Tablet landscape
|
||||||
|
[1200 - 1800] is where our nortal styles apply
|
||||||
|
1800px + : Big desktop
|
||||||
|
*/
|
||||||
|
/* Media Query M3 */
|
||||||
|
/* Grid breakpoints */
|
||||||
.sliderLayoutContainer {
|
.sliderLayoutContainer {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sliderLayoutContainer--carousel {
|
.sliderLayoutContainer--carousel {
|
||||||
background-color: #F0F0F0;
|
background-color: #f0f0f0;
|
||||||
min-height: 450px;
|
min-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -12,8 +21,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.paginationDotsContainer {
|
.paginationDotsContainer {
|
||||||
margin-top: .5rem;
|
margin-top: 0.5rem;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layoutContainer--shelf {
|
.layoutContainer--shelf {
|
||||||
@ -25,7 +34,12 @@
|
|||||||
|
|
||||||
.slide--shelf {
|
.slide--shelf {
|
||||||
margin-bottom: 25px;
|
margin-bottom: 25px;
|
||||||
padding-left: .5rem;
|
padding-left: 0.5rem;
|
||||||
padding-right: .5rem;
|
padding-right: 0.5rem;
|
||||||
min-height: 550px;
|
min-height: 550px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sliderLayoutContainer--productShelf {
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 40px;
|
||||||
|
}
|
16
styles/sass/pages/product/vtex.product-quantity.scss
Normal file
16
styles/sass/pages/product/vtex.product-quantity.scss
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.quantitySelectorStepper {
|
||||||
|
:global(.vtex-numeric-stepper-wrapper) {
|
||||||
|
width: 128px;
|
||||||
|
min-height: 49px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:global(.vtex-numeric-stepper__input) {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
:global(.vtex-numeric-stepper__plus-button-container),
|
||||||
|
:global(.vtex-numeric-stepper__minus-button-container) {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
36
styles/sass/pages/product/vtex.slider-layout.scss
Normal file
36
styles/sass/pages/product/vtex.slider-layout.scss
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
.sliderLayoutContainer {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sliderLayoutContainer--carousel {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
min-height: 450px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sliderTrackContainer {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginationDotsContainer {
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layoutContainer--shelf {
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
max-width: 96rem;
|
||||||
|
min-height: 550px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide--shelf {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
padding-right: 0.5rem;
|
||||||
|
min-height: 550px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sliderLayoutContainer--productShelf {
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 40px;
|
||||||
|
}
|
@ -140,3 +140,5 @@
|
|||||||
height: 48px;
|
height: 48px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user