;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Torcedor desabafa após flagra de traição em jogo: "Não se vê nenhum beijo"

Câmera do beijo deu flagra em casal que não ficou tão feliz - Reprodução/Twitter
Câmera do beijo deu flagra em casal que não ficou tão feliz Imagem: Reprodução/Twitter

22/01/2020 16h40

Depois do último sábado (18), onde um torcedor do Barcelona de Guayaquil foi flagrado no Equador em um ato de infidelidade durante a realização do amistoso de pré-temporada, conhecido como Noche Amarilla, a vida de Deyvi Andrade se modificou radicalmente.

Em postagem feita pelo personagem que "dividiu" holofotes com a participação do astro italiano Alessandro Del Piero no jogo, que serve para apresentar o elenco do clube ao torcedor, os ataques e postagens feitas por outros internautas levaram Andrade a se manifestar nas redes.

"Não sabem o dano psicológico que causam com o ódio que despejam contra mim. Todos falhamos e podemos nos arrepender de coração. Deus me dê forças!"

Desde o ocorrido, Deyvi tem se pronunciado diversas vezes no seu perfil; ele chegou a confirmar que seu relacionamento havia terminado depois que a imagem se tornou viral.

Além disso, ele transitou entre assumir a culpa pelo ato como, na sua última postagem, mudar a postura alegando que não é possível ver nenhum ato de traição nas imagens flagradas pela chamada "câmera do beijo".

Na oportunidade, ele estaria respondendo a uma matéria veiculada na mídia equatoriana onde o seu ato estava sendo repercutido.

"Em minha defesa quero esclarecer ao senhor repórter que em nenhum momento estava morrendo de vontade de beijar a minha amiga e, além do mais, no vídeo não se vê nenhum beijo. Não sei porque disse que nos beijamos apaixonadamente quando não houve sequer um roçar dos nossos lábios. Só me julgam e me criticam, mas ninguém se põe nos meus sapatos, que Deus não queira que em o mesmo. Sou inocente da brincadeira midiática e que fique claro que vou defender minha honra e orgulho de homem até o final, digam o que digam.", escreveu.

Ouça o podcast Posse de Bola, a mesa redonda do UOL sobre futebol, com Arnaldo Ribeiro, Eduardo Tironi, Juca Kfouri e Mauro Cezar Pereira.

Mais podcasts do UOL no Spotify, Apple Podcasts, Google Podcasts e outras plataformas.