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

Vitor Guedes

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Dorival Júnior, VP e a casa da sogra que é o futebol brasileiro, ô, pá!

Vítor Pereira saiu do Corinthians para cuidar da sogra; Doriva Júnior, que saiu do Ceará para cuidar da sua carreira, foi saído do Flamengo... - Ettore Chiereguini/AGIF
Vítor Pereira saiu do Corinthians para cuidar da sogra; Doriva Júnior, que saiu do Ceará para cuidar da sua carreira, foi saído do Flamengo... Imagem: Ettore Chiereguini/AGIF

Colunista do UOL

26/11/2022 09h47Atualizada em 26/11/2022 09h47

Viva a memória:

1) Dorival Júnior optou em pagar a multa rescisória e abrir mão do contrato em vigência com o Ceará para assumir o Flamengo. O jeito lamentável que a diretoria presidida por Rodolfo Landim tratou o (fraco) profissional Paulo Sousa não foi, em nenhum momento, algo considerado para Dorival tomar a sua decisão. Muito ao contrário!

2) O Flamengo, que, apresar de ter o melhor elenco do continente, só foi campeão da Copa do Brasil e da Libertadores porque Dorival Júnior corrigiu o erro da diretoria em apostar em Paulo Sousa, optou em não renovar com o treinador após o time sofrer mais do que a direção acreditava ser necessário para bater, respectivamente, Corinthians e Athletico-PR.

Sigamos:

Colegas que acompanham os bastidores do Flamengo noticiam que o clube negocia com o treinador português Vitor Pereira, aquele que disse com todas as letras que só não permaneceu no Corinthians por causa da situação de saúde da sua sogra não permitiria que ele continuasse no Brasil...

Ora, VP, quando dirigia o Corinthians, assumiu que só o fazia porque o Liverpool não o convidou, disse com todas as letras que iria correndo... Em relação ao Flamengo, caso o acerto se confirme, só vai deixar claro que apesar de VP ostentar que está cheio de dinheiro no banco, como disse de forma absurda e desrespeitosa, não rasga dinheiro.

Não dá para usar o termo decepção para VP porque, na língua portuguesa, tanto a versão lusitana quanto na brasileira, a gente só se decepciona com quem esperamos alguma coisa... E, sinceramente, não espero absolutamente nada da diretoria rubro-negra que fez o 22 e de VP.

Esportivamente? Ora, o flamenguista tem muito mais motivos para gostar de VP que o corinthiano: afinal, o português (além de não ganhar nenhum título, ostentar 0% em Dérbi e ser o único treinador corinthiano que em dez duelos mata-matas do milênio foi eliminado pelo São Paulo), numa burrice ímpar à Paulo Sousa, abriu o caminho da América para o (ex?) rival ao escalar Cantillo (que não é, nunca foi nem nunca será volante) de 5, barrar Fábio Santos e escalar Píton na ida da Libertadores. E fez ainda pior no segundo tempo, ao colocar Róger Guedes de 9 e deslocar Yuri Alberto para a ponta: viva a memória!

Repito: viva a memória!

Dito isso, VP, enquanto o Liverpool não o convida, tem todo o direito de trabalhar onde quiser, no continente que quiser ou não trabalhar se não quiser, direito idêntico ao de Dorival Júnior... E o Flamengo tem todo o direito de renovar ou não com qualquer técnico e escolher quem bem entender. Agora, o torcedor, VIVA A MEMÓRIA, tem todo o direito do mundo de desprezar quem usa a sogra como desculpa em vez de assumir suas escolhas... Ainda quer faça sentido já que o futebol, especialmente o brasileiro, ô, pá, é a casa da sogra!

Leia as colunas dos jogos:

Tunísia 0 x 1 Austrália

Inglaterra 0 x 0 Estados Unidos

Holanda 1 x 1 Equador

Qatar 1 x 3 Senegal

País de Gales 0 x 2 Irã

Brasil 2 x 0 Sérvia

Portugal 3 x 2 Gana

Uruguai 0 x 0 Coreia do Sul

Suíça 1 x 0 Camarões

Bélgica 1 x 0 Canadá

Espanha 7 x 0 Costa Rica

Alemanha 1 x 2 Japão

Croácia 0 x 0 Marrocos

França 4 x 1 Austrália

México 0 x 0 Polônia

Dinamarca 0 x 0 Tunísia

Argentina 1 x 2 Arábia Saudita

Estados Unidos 1 x 1 País de Gales

Senegal 0 x 2 Holanda

Inglaterra 6 x 2 Irã

Qatar 0 x 2 Equador

Análises e projeções de Basílio e Vitor Guedes da primeira fase do Mundial do Qatar

Grupo A: veja AQUI as análises do Basa e do Vitão.

Grupo B: veja AQUI as análises do Basa e do Vitão.

Grupo C: veja AQUI as análises do Basa e do Vitão.

Grupo D: veja AQUI as análises do Basa e do Vitão.

Grupo E: veja AQUI as análises do Basa e do Vitão.

Grupo F: veja AQUI as análises do Basa e do Vitão.

Grupo G: veja AQUI as análises do Basa e do Vitão.

Grupo H: veja AQUI as análises do Basa e do Vitão.

Eu sou o Vitor Guedes e tenho um nome a zelar. E zelar, claro, vem de ZL! É nóis no UOL!

Veja também:

Desfalques de Neymar e Danilo aumentam responsabilidade de Tite

Palpites da 2ª rodada da fase de grupos

Thiago Silva de capitão é erro crasso

Waka Waka eterno de Shakira

Vexame argentino reitera a importância de Tite escalar Vini Jr!

Palpites do Basílio e do Vitor Guedes para a 1ª rodada da fase de grupos da Copa

AQUI a análise da seleção inglesa feita por Paulo Andrade, Bernardo Ramos, Rafael Oliveira, Rodrigo Coutinho e eu.

E me siga no Twitter e no Instagram