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

Douglas Souza levanta bandeira e conquista novos fãs para o vôlei em Tóquio

Douglas Souza comemora ponto com Maurício Souza - Divulgação/FIVB
Douglas Souza comemora ponto com Maurício Souza Imagem: Divulgação/FIVB

Demétrio Vecchioli

Colunista do UOL, em Tóquio

21/07/2021 05h20

Quando começou a ter seus vídeos compartilhados por famosos, ontem (20), Douglas Souza tinha cerca de 250 mil seguidores. Enquanto esse texto está sendo escrito, os fãs do ponteiro já são mais de 840 mil. Campeão olímpico de vôlei, o jogador furou a bolha e virou assunto nacional por seus vídeos divertindo-se na quadra e na Vila Olímpica de Tóquio.

Douglas começou a "bombar" nas redes com um vídeo de catwalking, aquele andar típico de arela de desfile de moda, com os em que um pé fica à frente do outro, e a cintura não para quieta. Mais do que homossexual declarado, Douglas não esconde seu jeito de ser, que combina irreverência e delicadeza, marcando posição em um esporte que vem sendo relacionado ao conservadorismo.

Desde o "17" de Maurício Souza e Wallace na foto tirada após um jogo do Mundial de 2018, ando pela tentativa de punir Carol Solberg e culminando com o discurso antivacina de Fernanda Venturini, o vôlei ou a ser visto como um esporte dominado por "bolsonaristas". Nas redes sociais, são comuns comentários do tipo: "pela seleção de vôlei eu não torço".

A popularidade de Douglas cresceu nas últimas horas exatamente nesse público que vinha rejeitando o vôlei e que agora ite torcer pela seleção brasileira. Por ele.

"Eu fico muito, muito feliz que as pessoas agora estão conseguindo olhar pro nosso time de vôlei, do Brasil, com olhar diferente. Para que elas torçam de alguma forma, que seja por mim e tal. Eu sinto sim que eu estou representando todo mundo. O vôlei é um esporte coletivo, se você quiser torcer pelo Douglas você precisa torcer pela seleção em si, pelo time todo, para todo mundo jogar bem. Acho que o vôlei é o esporte mais coletivo do mundo e eu fico feliz que as pessoas estão tendo essa oportunidade de olhar para a gente com outros olhos", disse ele ao UOL Esporte, hoje (21).

Douglas vê em seus vídeos, na sua fama repentina, uma oportunidade de se posicionar em um ambiente, o esportivo, onde há cada vez mais atletas LGBTQIA+, mas onde ainda se exige que eles sigam presos dentro de um padrão heteronormativo.

"Não conheço alguém que brinque com isso, que mostre o seu verdadeiro lado para todo mundo, sem medo algum de qualquer tipo de repreensão ou de ser injustiçado. E eu espero inclusive que apareçam muitos outros, porque a gente precisa levantar essa bandeira em prol da igualdade e do respeito", afirmou o jogador.

Douglas não acredita, porém, que as interações nas redes sociais, frequentes nas últimas horas, tirem o foco dos Jogos Olímpicos e acabem atrapalhando seu desempenho dentro de quadra.

"O que eu gravo de conteúdo é deitado na minha cama, não é nada que vá me cansar fisicamente. Vai ser muito tranquilo. Eu não fico fazendo nenhum tipo de coreografia, nada que seja muito exaustivo. O máximo que eu faço é dar uma andada, o que todo mundo já viu, uma brincadeirinha em cima da cama... nada que me desgaste para o jogo."

Segundo ele, a concentração máxima acontece antes dos jogos. "A questão mental aparece mesmo algumas horas antes do jogo, um dia antes. Meus posts não vão fazer grande diferença, não vai ter um impacto. Não vou jogar mal por causa de post na internet".