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

Ministro australiano veta entrada de Kelly Slater sem vacina: "sabe regras"

Kelly Slater não poderá entrar na Austrália se não tomar vacina contra a covid-19 - World Surf League via Getty Images
Kelly Slater não poderá entrar na Austrália se não tomar vacina contra a covid-19 Imagem: World Surf League via Getty Images

Colaboração para o UOL, em Santos (SP)

19/01/2022 16h12

O ministro de Esportes da Austrália, Richard Colbeck, mandou um recado a Kelly Slater e avisou que o surfista norte-americano não poderá entrar no país para competir pelo Mundial de Surfe caso não se vacine contra a covid-19.

Recentemente, o tenista Novak Djokovic —defendido recentemente pelo 11 vezes campeão mundial de surfe nas redes sociais—foi deportado por não se vacinar e acabou impossibilitado de disputar o Aberto da Austrália.

"Não há chance de entrar. Acho que ele sabe as regras. Não importa se você é um surfista, um jogador de tênis, um turista ou qualquer outra pessoa, estas são as regras. Elas são aplicáveis a todos", afirmou em entrevista ao site australiano The Age.

O Mundial de Surfe de 2022 tem duas etapas programadas para a Austrália: Bells Beach, entre 10 e 20 de abril, e Margaret River, entre 24 de abril e 4 de maio. O circuito começa em Pipeline, no Havaí, com janela marcada entre 29 de janeiro e 10 de fevereiro.

A WSL (Liga Mundial de Surfe, em inglês) não exige aporte vacinal para a disputa do Mundial, mas incentiva os atletas a se imunizarem e alerta os competidores sobre a possibilidade de eles serem proibidos de entrar em determinados países.

Slater saiu em defesa de Djokovic

No começo do ano, Kelly Slater saiu em defesa de Djokovic durante a polêmica do Aberto da Austrália e chegou a discutir com internautas nas redes sociais.

"Talvez a 'Síndrome de Estocolmo' [que ocorre quando uma vítima começa a nutrir algum tipo de sentimento positivo pelo seu agressor] agora possa mudar seu nome para 'Síndrome de Melbourne'", iniciou Slater.

"É triste ver esta celebrada divisão pelos "virtuosos" vacinados. Se você está vacinado por que está preocupado sobre os status dos outros? a não ser, claro, que não te proteja? Ou você está com medo de pegar ou chateado porque teve que assumir o risco da vacinação você mesmo? Tanta lavagem cerebral e ódio no coração das pessoas independentemente do status de vacinação", acrescentou.