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

Elton John sobre HIV: 'Vou lutar pelos direitos das pessoas até morrer'

Elton John durante apresentação no Oscar 2020 - REUTERS/Mario Anzuoni
Elton John durante apresentação no Oscar 2020 Imagem: REUTERS/Mario Anzuoni

De Universa, em São Paulo

26/06/2020 12h05

Conhecido por sua luta pelos direitos da população LGBTQ+, Elton John disse que não pretende colocar o pé no freio. Em conversa sobre HIV com Jonathan Van Ness, de Queer Eye, o cantor deixou claro que vai seguir brigando até o fim da vida.

O vídeo faz parte de uma série do Instagram chamada Advocates, que buscar reunir pessoas que têm promovido mudanças positivas no Instagram. Elton John, que tem uma fundação de apoio aos portadores de HIV, e Jonathan Van Ness, não-binário que assumiu recentemente que tem o vírus, foram os convidados da semana.

"Até o dia em que eu morrer, eu estarei lutando pelos direitos das pessoas. É o mínimo que eu posso fazer porque tenho tido muita sorte na minha vida", declarou Elton.

Ele ainda pediu que a população LGBTQ+, que é constantemente associada ao HIV por ser um dos grupos de risco da AIDS, continue com ele na luta. "Ouçam, nós estamos quase lá, não podemos nos dar ao luxo de tirar o pé do acelerador", defendeu. "Nós chegamos muito longe em tão pouco tempo, cientificamente. Muita gente fica tão esgotada com a burocracia que desiste."

"Sejam mais amorosos uns com os outros. Sejam mais compreensivos uns com os outros. Sejam mais receptivos com as pessoas que portam HIV. Acolham elas, abracem elas e amem elas", pediu.

Jonathan disse que a forma aberta como Elton lidou com seus problemas com o álcool e as drogas o encorajou a falar sobre o vírus e ajudar outras pessoas. Em resposta, o cantor ressaltou a importância de abordar esses assuntos de forma pública.

"Nós precisamos continuar batendo na porta e conquistando o máximo de publicidade que pudermos. As pessoas ainda são muito generosas e continuam doando, mas nós temos que ampliar isso", declarou.

"Nós estamos tentando fazer com que as pessoas sejam testadas. Nós estamos tentando fazer com que as pessoas tenham seu diagnóstico. Nós estamos tentando ajudar pessoas trans. Porque ainda há uma grande batalha para ser vencida", concluiu.