Cria area de banners principal/mobile

This commit is contained in:
ThiagoDuutra 2022-12-08 17:47:46 -03:00
parent fc002d2cee
commit fd640d5770
10 changed files with 177 additions and 227 deletions

View File

@ -1,81 +1,122 @@
module.exports = {
contentPlaceHolders: [
{
// Registra o contentPlaceholder
id: "htmlSeo",
objects: [
// Registra os objetos vtex
{
type: "html",
name: "Html SEO",
contents: [],
},
],
},
{
id: "slide-principal",
id: "banners-principais-desktop",
objects: [
{
type: "banner",
name: "banner principal",
name: "Banner Principal Desktop 01",
contents: [
{
name: "banner principal content",
name: "Banner Principal Desktop 01",
active: true,
type: "image",
file: "slide-principal.png",
width: 1920,
height: 500,
// "category": "*",
// "brand": "*"
// "period": ""
file: "banner-principal-desktop.png",
width: 1440,
height: 532,
},
],
},
{
type: "banner",
name: "banner principal-2",
name: "Banner Principal Desktop 02",
contents: [
{
name: "banner principal content",
name: "Banner Principal Desktop 02",
active: true,
type: "image",
file: "slide-principal.png",
width: 1920,
height: 500,
file: "banner-principal-desktop.png",
width: 1440,
height: 532,
},
],
},
{
type: "banner",
name: "Banner Principal Desktop 03",
contents: [
{
name: "Banner Principal Desktop 03",
active: true,
type: "image",
file: "banner-principal-desktop.png",
width: 1440,
height: 532,
},
],
},
{
type: "banner",
name: "Banner Principal Desktop 04",
contents: [
{
name: "Banner Principal Desktop 04",
active: true,
type: "image",
file: "banner-principal-desktop.png",
width: 1440,
height: 532,
},
],
},
],
},
{
id: "slide-principal-mobile",
id: "banners-principais-mobile",
objects: [
{
type: "banner",
name: "banner principal mobile",
name: "Banner Principal mobile 01",
contents: [
{
name: "banner principal mobile content",
name: "Banner Principal mobile 01",
active: true,
type: "image",
file: "slide-principal-mobile.png",
width: 500,
height: 500,
file: "banner-principal-mobile.png",
width: 375,
height: 342,
},
],
},
{
type: "banner",
name: "banner principal mobile 2",
name: "Banner Principal mobile 02",
contents: [
{
name: "banner principal mobile 2 content",
name: "Banner Principal mobile 02",
active: true,
type: "image",
file: "slide-principal-mobile.png",
width: 500,
height: 500,
file: "banner-principal-mobile.png",
width: 375,
height: 342,
},
],
},
{
type: "banner",
name: "Banner Principal mobile 03",
contents: [
{
name: "Banner Principal mobile 03",
active: true,
type: "image",
file: "banner-principal-mobile.png",
width: 375,
height: 342,
},
],
},
{
type: "banner",
name: "Banner Principal mobile 04",
contents: [
{
name: "Banner Principal mobile 04",
active: true,
type: "image",
file: "banner-principal-mobile.png",
width: 375,
height: 342,
},
],
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

View File

@ -1,38 +1,18 @@
import {
bannerHome,
barraDeVantagens,
naveguePorCategorias,
} from "App/functions/slide";
import InstagramGallery from "../components/InstagramGallery";
import slickConfig from "Config/slick";
export default class Home {
constructor() {
bannerHome(".main-gallery");
barraDeVantagens(".tipbar ul");
naveguePorCategorias(".categorias-home .categorias");
new InstagramGallery({
gallery: ".instagramGallery__photos",
account: "agenciam3",
limit: 6,
});
this.selectors();
this.createSliders();
}
naveguePorCategorias() {
// preencher titulos
var $container = $(".home-categories .categorias");
$container.find(".box-banner").each(function (i, el) {
const $banner = $(el);
let name;
selectors() {
this.desktopMainBanners = $(".main-banners__desktop");
this.mobileMainBanners = $(".main-banners__mobile");
}
name = $banner.find("img").prop("alt");
let $titulo = $("<span />", {
text: name,
class: "nome-categoria",
});
$banner.find("img").after($titulo);
});
slide.naveguePorCategorias($container);
createSliders() {
this.desktopMainBanners.slick(slickConfig.home.desktopMainBanners);
this.mobileMainBanners.slick(slickConfig.home.mobileMainBanners);
}
}

View File

@ -1,18 +1,18 @@
export default {
home: {
bannerDesktop: {
desktopMainBanners: {
dots: true,
arrows: false,
pauseOnHover: false,
arrows: true,
pauseOnHover: true,
autoplay: true,
autoplaySpeed: 6000,
autoplaySpeed: 5000,
},
bannerMobile: {
mobileMainBanners: {
dots: true,
arrows: false,
pauseOnHover: false,
arrows: true,
autoplay: true,
autoplaySpeed: 6000,
autoplaySpeed: 5000,
},
},
general: {

View File

@ -1,177 +1,97 @@
/***************************************************************/
/**-- Home ---------------------------------********************/
/*-------------------------------------------------------------*/
.home {
.main-gallery {
> div {
&:not(.slick-initialized) {
.box-banner {
&:not(:first-child) {
display: none;
}
}
}
&.desktop {
@include mq(md, max) {
display: none;
}
}
&.mobile {
@include mq(md, min) {
display: none;
}
}
}
.main-banners {
img {
width: 100%;
}
&__desktop {
@include mq(md, max) {
display: none;
}
}
.slick-next,
.slick-prev {
@extend .sprite;
background-color: transparent;
border: none;
cursor: pointer;
font-size: 0;
outline: none;
padding: 0;
&__mobile {
@include mq(md, min) {
display: none;
}
}
.slick-arrow {
position: absolute;
top: 40%;
transform: scale(0.7);
z-index: 1;
top: 50%;
transform: translateY(-50%);
z-index: map-get($z-index, flag-prateleira);
padding: 0;
border: 0;
outline: 0;
font-size: 0;
background-color: transparent;
cursor: pointer;
@extend .sprite;
@include mq(md, max) {
transform: translateY(-50%) scale(0.7);
}
}
.slick-prev {
left: 24px;
@extend .sprite-left-arrow-icon;
@include mq(md, max) {
left: 16px;
transform-origin: left;
}
}
.slick-next {
@extend .sprite;
@extend .sprite-circled-arrow-right;
left: auto;
right: 8px;
}
right: 24px;
.slick-prev {
@extend .sprite;
@extend .sprite-circled-arrow-left;
right: auto;
left: 8px;
@extend .sprite-right-arrow-icon;
@include mq(md, max) {
right: 16px;
transform-origin: right;
}
}
.slick-dots {
bottom: 20px;
display: flex !important;
align-items: center;
justify-content: center;
position: absolute;
pointer-events: none;
text-align: center;
left: 0;
bottom: 14px;
margin: 0;
width: 100%;
z-index: map-get($z-index, flag-prateleira);
&,
li {
align-items: center;
display: flex !important;
justify-content: center;
@include mq(md, max) {
bottom: 9px;
}
li {
display: inline-block;
display: flex;
margin: 0 4px;
&.slick-active {
button {
width: 16px;
height: 16px;
border: 1px solid $color-white;
background: transparent;
}
}
}
button {
background-color: #142032;
border: none;
cursor: pointer;
height: 10px;
outline: none;
padding: 0;
pointer-events: all;
transition: all 0.15s ease-in-out;
width: 10px;
}
.slick-active {
button {
background-color: #f71963;
height: 16px;
width: 16px;
}
}
}
}
.banner {
&.desktop {
@include mq(md, max) {
display: none;
}
}
&.mobile {
@include mq(md, min) {
display: none;
}
}
img {
width: 100%;
}
}
.mosaico-home,
.mosaico-home-footer {
@include mq(md, max) {
padding: 0;
}
@include mq_range(md, xl) {
max-width: 100%;
}
.row {
@include mq(md, max) {
margin: 0;
}
}
}
.mosaico-home {
> .row {
@include mq(md, min) {
margin-left: 0;
}
}
.banner {
padding: 0 0 40px;
@include mq(md, min) {
padding: 0 10px;
}
img {
width: 100%;
}
}
.banners-left {
@include mq(md, min) {
padding-left: 0px;
padding-right: 12px;
}
}
.banners-right {
padding: 0;
.banner {
padding-right: 0;
&:nth-child(2) {
@include mq(md, min) {
padding-left: 8px;
}
}
height: 10px;
padding: 0;
border: 0;
outline: 0;
background: $color-white;
}
}
}

View File

@ -1,7 +1,7 @@
.footer-links {
@include mq(md, min) {
padding: 29px 0 25px;
border: 1px solid $color-gray-100;
border-bottom: 1px solid $color-gray-100;
}
&__wrapper {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -20,7 +20,16 @@
<body>
<vtex:template id="thiagodutra-header" />
<main class="home" style="height: 600px"></main>
<main class="home">
<section class="main-banners">
<div class="main-banners__desktop">
<vtex:contentPlaceHolder id="banners-principais-desktop" />
</div>
<div class="main-banners__mobile">
<vtex:contentPlaceHolder id="banners-principais-mobile" />
</div>
</section>
</main>
<footer>
<vtex:template id="thiagodutra-footer-newsletter" />