Advertisement
Allan93aj

Untitled

Feb 28th, 2020
564
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.68 KB | None | 0 0
  1. const configsSite = {
  2. url: '',
  3. location: document.querySelector('body').className.split(' ')
  4. }
  5.  
  6. const textos = {
  7. header_text: "",
  8. header_subtext: "",
  9. header_paragraph: "",
  10.  
  11. slide_text: "",
  12. slide_subtext: "",
  13. slide_paragraph: "",
  14.  
  15. h_product_text:"SEU CABELO CRESCE",
  16. h_product_subtext:"MUITO MAIS RÁPIDO",
  17. h_product_paragraph:"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim"
  18. }
  19.  
  20. const breakpoint = {
  21. desktop: window.matchMedia("(min-width: 1200px)").matches,
  22. largeTablets: window.matchMedia("(min-width: 992px) and (max-width: 1190px)").matches,
  23. middleTablets: window.matchMedia("(min-width: 768px) and (max-width: 991.98px)").matches,
  24. phones: window.matchMedia("(min-width: 340px) and (max-width: 767.98px)").matches,
  25. smallPhones: window.matchMedia("(max-width: 339.98px)").matches
  26.  
  27. }
  28.  
  29. //Mostra Parcelas do produtos
  30. function criarSpan(position) {
  31. var cardPlots = document.querySelectorAll(".preco-produto>div");
  32.  
  33. cardPlots.forEach(function(item){
  34. var novoItem = document.createElement("span");
  35.  
  36. novoItem.className = "parcelas"
  37.  
  38. if (position == "baixo") {
  39. item.append(novoItem)
  40. } else {
  41. item.prepend(novoItem)
  42. }
  43. novoItem.innerHTML = "Em até 3x S/Juros";
  44.  
  45. //console.log(item.getElementsByTagName("strong"));
  46.  
  47. });
  48. }
  49.  
  50. //Instancia o MiniCart
  51. function instantiateMiniCart(){
  52. $.ajax({
  53. type: 'POST',
  54. url: 'https://tepeguei.lojaintegrada.com.br/carrinho/listar_produtos',
  55. success: function(data){
  56. $(".mini-cart").html(data);
  57. },
  58. error: function (xhr, ajaxOptions, thrownError) {
  59. alert(xhr.status);
  60. alert(thrownError);
  61. }
  62. });
  63. }
  64.  
  65. //Cria o botão de comprar nos produtos da home
  66. function createButtonProduct(){
  67. if(configsSite.location[0] == 'pagina-inicial' || configsSite.location[0] == 'pagina-categoria' || configsSite.location[0] == 'pagina-busca'){
  68. var produtos = document.querySelectorAll(".trustvox-stars");
  69.  
  70. produtos.forEach(function(item){
  71. var idItem = item.dataset.trustvoxProductCode;
  72. var href = item.parentNode.getElementsByTagName('a')[0].href;
  73. $(item).next().after("<div class='botao-comprar'><a href='"+href+"'>Comprar</a></a>");
  74. });
  75. }else{
  76. var produtos = document.querySelectorAll(".info-produto");
  77. produtos.forEach(function(item){
  78. var href = item.parentNode.getElementsByTagName('a')[0].href;
  79. $(item).next().after("<div class='botao-comprar'><a href='"+href+"'>Comprar</a></a>");
  80. });
  81. }
  82. }
  83.  
  84. //Ativa ou remove elemento
  85. function setActive(IsVisible, className){
  86. if(IsVisible){
  87. $(className).css("display", "block");
  88. }else{
  89. $(className).remove();
  90. }
  91. }
  92.  
  93. //Adicionar estilos
  94. function addStyle(url){
  95. $('head').append('<link rel="stylesheet" href="'+url+'">');
  96. }
  97.  
  98. function addScriptOnHead(url){
  99. var script = document.createElement( 'script' );
  100. script.type = 'text/javascript';
  101. script.src = url;
  102. $('head',document).append(script);
  103. }
  104.  
  105. function addScriptOnFooter(url){
  106. var script = document.createElement( 'script' );
  107. script.type = 'text/javascript';
  108. script.src = url;
  109. $('body').append(script);
  110. }
  111.  
  112. //Adiciona background no navbar
  113. function navigationBackground(){
  114.  
  115. if(configsSite.location[0] == "pagina-inicial"){
  116. $(window).scroll(function (event) {
  117. var scroll = $(window).scrollTop();
  118. if(scroll <= 89){
  119. $(".container-fluid.navigation").css("background-color", "transparent")
  120. }else if(scroll > 89){
  121. $(".container-fluid.navigation").css("background-color", "#9D19BA")
  122. }
  123. });
  124. }else{
  125. $(".container-fluid.navigation").addClass("navigation-clearfix");
  126. }
  127. }
  128.  
  129. //Remove elementos do site
  130. function removeElements(element){
  131. var elements = element.length;
  132.  
  133. for(i=0; i < elements; i++){
  134. $(element[i]).remove();
  135. }
  136.  
  137. }
  138.  
  139. //Adicionar Classe em Objetos
  140. function addClass(theClass, myClass){
  141. $(theClass).addClass(myClass);
  142. }
  143.  
  144. //Cria Sliders
  145. function createSlider(slider){
  146. var sliders = slider.length;
  147.  
  148. for(i = 0; i < sliders; i++){
  149. $(slider[i]).flexslider({
  150. animation: "slide"
  151. });
  152. }
  153. }
  154.  
  155. //Cria o background do corpo, seta os textos etc..
  156. // function createCorpoInfos(){
  157. // $(".conteiner-principal #corpo").prepend("<div class='top-banner'><div class='textos'><h1>"+textos.h_product_text+"</h1><h2>"+textos.h_product_subtext+"</h2><p>"+textos.h_product_paragraph+"</p></div><div class='bottom-banner'></div></div>");
  158. // }
  159.  
  160. //Cria/Ativa o Carousel em locais pré definidos
  161. function createCarousel(locations){
  162. if(breakpoint.phones || breakpoint.smallPhones){
  163. for(i=0; i<locations.length; i++){
  164. $(locations[i]).flexslider({
  165. animation: "slide",
  166. animationLoop: false,
  167. itemWidth: 300,
  168. itemMargin: 5,
  169.  
  170. });
  171. }
  172. }
  173. }
  174.  
  175. //Une as .listagem-linha e as transforma em uma única
  176. function unitCarousel(){
  177. var linhas = document.querySelectorAll(".listagem-linha ul");
  178. var linhas_fluid = document.querySelectorAll(".listagem-linha .row-fluid li");
  179.  
  180. linhas_fluid.forEach(function(item){
  181. $(linhas[0]).append(item);
  182. });
  183. $(".listagem-linha").last().remove();
  184. }
  185.  
  186. //Atualiza css
  187. function updateCSS(item, prop, value){
  188. $(item).css(prop, value);
  189. }
  190.  
  191. //Pega total de itens no carrinho e adiciona na nova Classe
  192. function getItemsInCart(){
  193. var totalItems = document.querySelectorAll(".carrinho .qtd-carrinho");
  194. var itemsInCart = totalItems[0].innerHTML;
  195.  
  196. if(itemsInCart > 0){
  197. $(".shopping-cart").append("<span class='qtd-carrinho'>"+itemsInCart+"</span>");
  198. }
  199. }
  200.  
  201. //Corrige elementos
  202. function setDefaultPositions(){
  203. removeElements(['.show', '.top-banner','.main-banner','.after-color']);
  204. addClass(".listagem", "corrigePosicao");
  205. addClass(".conteiner-principal", "corrigeCor");
  206. addClass(".conteiner-principal .conteiner", "corrigeCor");
  207. }
  208.  
  209. //Cria o novo filtro na página de categoria
  210. (function(){
  211. if(configsSite.location[0] == "pagina-categoria"){
  212. var items =
  213. [
  214. "<li>Filtrar Por:</li>",
  215. "<li><a href='?sort=%2Bnome'>Ordem Alfabética</a></li>",
  216. "<li><a href='?sort=mais_vendidos'>Mais Vendidos</a></li>",
  217. "<li><a href='?sort=%2Bpreco'>Menor Preço</a></li>",
  218. "<li><a href='?sort=-preco'>Maior Preço</a></li>"
  219. ]
  220. $(".pagina-categoria .topo .row-fluid").html("<ul class='filtro-categoria'></ul>");
  221.  
  222. for(i=0; i < items.length; i++){
  223. $(".filtro-categoria").append(items[i]);
  224. }
  225. }
  226. })();
  227.  
  228.  
  229. //cria função de login
  230.  
  231. (function(){
  232.  
  233. var accountUser = document.querySelectorAll('.btn-group .botao')
  234.  
  235. if (accountUser.length > 0 ) {
  236. var splitUser = accountUser[0].text.split(",")
  237. var user = splitUser[1]
  238.  
  239. $('.log').html("<a href='/conta/index'>"+user+"</a>")
  240. $(".log").css("border","none")
  241.  
  242. $(".acount-wrapper ul li:first-child").remove()
  243.  
  244. $(".acount-wrapper ul").append("<li><a href='/conta/logout'>Sair</a></li>")
  245.  
  246. // mobile
  247.  
  248. $(".navigation-mobile-content li:nth-child(3)").html("<a href='/conta/logout'>Sair</a>")
  249.  
  250.  
  251. } else {
  252. $('.log').html("<a href='/conta/login'>Login</a>")
  253. console.log("deslogar");
  254.  
  255. $('.acount-wrapper ul li:first-child').html("<a href='/conta/index'>Criar conta</a>")
  256. }
  257. console.log(accountUser)
  258.  
  259. })();
  260.  
  261.  
  262.  
  263. $(document).ready(function(){
  264.  
  265. //Menu Mobile
  266. $(".bar-menu").click(function(){
  267. $(".navigation-mobile-content").toggle("slow");
  268. });
  269.  
  270. //Instancia Botão de pagar
  271. createButtonProduct();
  272.  
  273. //Instancia MiniCart
  274. instantiateMiniCart();
  275.  
  276. //Cria slidrs
  277. createSlider(['.show-foto']);
  278.  
  279. //Adiciona Classe
  280. addClass(".listagem-linha", "flexslider");
  281.  
  282. //Adiciona o fundo no menu
  283. navigationBackground();
  284.  
  285. // //Instancia o Corpo e suas funções
  286. // createCorpoInfos();
  287.  
  288. //Instancia as parcelas
  289. criarSpan("baixo");
  290.  
  291. //Cria Scripts
  292. addStyle('https://fonts.googleapis.com/css?family=Josefin+Sans:100,400,700&display=swap');
  293. addStyle('//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css');
  294.  
  295. addScriptOnHead('//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js');
  296.  
  297. //Pega o total de itens no carrinho
  298. getItemsInCart();
  299.  
  300. //Remove elementos da página
  301. removeElements(['.barra-inicial','#cabecalho','.secao-banners','.institucional', '#barraTopo', '.pagamento-selos', '.bandeiras-produto', "#rodape"]);
  302.  
  303. //Verifica em qual página estou e realiza as alterações
  304. switch(configsSite.location[0]){
  305. case "pagina-inicial":
  306. if(breakpoint.phones || breakpoint.smallPhones){
  307. unitCarousel();
  308. $(".listagem-linha ul").addClass("slides");
  309. createCarousel(['.listagem-linha','.flexslider2']);
  310. }
  311. break;
  312.  
  313. case "pagina-produto":
  314. setDefaultPositions();
  315. createCarousel(['.listagem-linha .row-fluid','.flexslider2']);
  316. break;
  317.  
  318. case "pagina-carrinho":
  319. setDefaultPositions();
  320. break;
  321.  
  322. case "pagina-categoria":
  323. setDefaultPositions();
  324. removeElements(['div.coluna.span3']);
  325. $("div.conteudo.span9").removeClass("span9").addClass("span12");
  326. createCarousel(['.listagem-linha','.flexslider2']);
  327. break;
  328.  
  329. case "pagina-busca":
  330. setDefaultPositions();
  331. break;
  332.  
  333. case "pagina-login":
  334. setDefaultPositions();
  335. break;
  336.  
  337. case "pagina-conta":
  338. setDefaultPositions();
  339. break;
  340.  
  341. case "pagina-pedido-listar":
  342. setDefaultPositions();
  343. break;
  344.  
  345. case "pagina-favorito-listar":
  346. setDefaultPositions();
  347. break;
  348.  
  349. }
  350.  
  351.  
  352.  
  353. $('.whatsay').flexslider({
  354. animation: "slide",
  355. animationLoop: true,
  356. itemWidth: 210,
  357. itemMargin: 5,
  358. maxItems: 2
  359. });
  360.  
  361.  
  362.  
  363.  
  364.  
  365. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement