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

Esse conteúdo é antigo

Festa eletrônica clandestina com 300 pessoas é encerrada no Rio de Janeiro

Do UOL, em São Paulo

28/03/2021 16h46Atualizada em 28/03/2021 17h56

Uma festa clandestina que de música eletrônica que reunia cerca de 300 pessoas foi interditada hoje pela Seop (Secretaria de Ordem Pública), no Rio de Janeiro. O evento teve início às 10h, em uma residência localizada na Estrada Curumau, em Taquara, na zona oeste da cidade.

A pool party — festa na piscina — foi anunciada de forma ilegal nas redes sociais. O evento foi realizado em comemoração ao aniversário de dois DJs. De acordo com dados da Seop readas ao UOL, os organizadores do evento poderão pagar uma multa no valor de até R$ 15 mil.

"Domingão é dia de comemorar o Bday dessas duas feras da cena eletrônica, Alonso e DJ Ariel Lisboa, e nada melhor que uma piscina, bebida gelada, amigos reunidos e muita música eletrônica", descreveu o evento, no Facebook. Após o anúncio no Facebook, a organização da festa articulava os detalhes em um grupo de WhatsApp.

Durante a abordagem feita pelos agentes da Guarda Municipal e da Polícia Militar, registrado em vídeo, pessoas aparecem sem máscaras de proteção e aglomeradas. Um homem chegou a ameaçar a filmagem realizada pela equipe: "Não filma por gentileza, tá? Tô te avisando".

A festa acontece no terceiro dia de maiores restrições no Rio de Janeiro, adotadas para conter o avanço de casos da covid-19, doença que já matou mais de 36 mil pessoas em todo o estado.

Feriado é antecipado para reduzir casos da covid no Rio

O feriado antecipado no Rio teve início na sexta-feira (26) e segue em vigor até o dia 4 de abril. A medida foi adotada para que a população pudesse ficar isolada, em casa, e evitar a propagação do vírus.

No Rio de Janeiro e em Niterói, apenas serviços essenciais estão autorizados a funcionar até o final do feriadão.

Cidades turísticas na Região dos Lagos fecharam as praias e instalaram barreiras sanitárias, medida também adotada na região serrana para evitar movimento de turistas durante o feriado prolongado.