;(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

G. Menino canta 'Tite, c..., Dudu é seleção' em casamento; meia se desculpa

Colaboração para o UOL, em São Paulo

17/11/2022 18h13Atualizada em 17/11/2022 23h04

Classificação e Jogos

Depois de a torcida do Palmeiras xingar Tite por não convocar Dudu para a Copa do Mundo, a despeito de mais uma excelente temporada do atacante, ontem (16) foi a vez dos convidados do casamento do camisa 7 gritarem contra o treinador da seleção brasileira - incluindo Gabriel Menino.

Um vídeo que circula nas redes sociais mostra que durante a recepção do casamento do atacante com a empresária Paula Campos, alguns convidados puxaram o coro: 'Tite, c..., Dudu é seleção!'. O meio-campista Gabriel Menino, companheiro de Palmeiras, era um dos mais empolgados.

Horas mais tarde, Menino pediu desculpas pelo episódio em seu perfil oficial no Twitter. O jogador afirmou que "estava em um momento de lazer" e se excedeu.

"Queria pedir desculpas pelo vídeo que está circulando na internet no dia de hoje. Estava em um momento de lazer e confraternização com amigos, comemorando o casamento do Dudu, e acabei me excedendo na empolgação do momento em meio aos gritos de convidados da festa com ele", iniciou o jogador.

"Desculpa principalmente ao professor Tite, que sempre me tratou com enorme respeito e me deu a oportunidade de realizar o sonho de vestir a camisa da Seleção Brasileira. Todo sucesso ao Brasil na Copa do Mundo e estarei na torcida por vocês", completou.

Dudu na seleção

Dudu foi eleito um dos melhores atacantes do Campeonato Brasileiro no Prêmio Bola de Prata, e foi um dos destaques da campanha do décimo primeiro título palmeirense na competição.

Destaque do Palmeiras desde 2015, Dudu já conquistou quatro Bolas de Prata. Apesar disso, ele foi convocado por Tite para a seleção brasileira em apenas duas oportunidades.

Em 25 de janeiro de 2017, ele jogou e fez um gol no amistoso contra a Colômbia, que reverteu recursos para as famílias de jogadores da Chapecoense que morreram no acidente aéreo antes da final da Copa Sul-americana em 2016.

Em março de 2017, Dudu foi convocado para substituir Douglas Costa, que à época atuava no Bayern de Munique, e foi cortado. No entanto, contra Uruguai e Paraguai, o atacante palmeirense sequer entrou em campo.

Gabriel Menino na seleção

Se Dudu teve a última chance na seleção em 2017, Gabriel Menino foi convocado por Tite em 2020 para a seleção principal e fez parte do elenco campeão olímpico em Tóquio.