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

Prefeitura do Rio planeja 40 dias de Carnaval de rua a partir de janeiro

23.fev.2020 - O bloco Cordão do Bola Preta, no centro do Rio - Fotoarena/Estadão Conteúdo
23.fev.2020 - O bloco Cordão do Bola Preta, no centro do Rio Imagem: Fotoarena/Estadão Conteúdo

Ruben Berta

Do UOL, no Rio

20/08/2021 17h18

A Riotur, empresa de turismo da Prefeitura do Rio de Janeiro, publicou hoje em seu site a convocação para parceiros privados interessados na realização do Carnaval de rua de 2022. O caderno de encargos, que estabelece as regras do evento, prevê que ocorram até 500 desfiles de blocos oficiais num período de 40 dias, de 27 de janeiro a 6 de março.

Apesar da previsão de uma festa grandiosa, o caderno estabelece que a realização do evento "será condicionada às determinações estabelecidas pelos órgãos competentes no combate à covid-19, inclusive com a possibilidade de alteração da data de início". A prefeitura estimou que, em 2020, o Carnaval de rua envolveu 7 milhões de pessoas no Rio ao longo de 50 dias.

O anúncio acontece contudo no mesmo dia em que o prefeito Eduardo Paes (PSD) informou que a capital registrou o maior número semanal de casos de covid-19 em meio ao avanço da variante delta.

Paes já havia sido alvo de críticas de especialistas na área de saúde ao anunciar, no fim do mês ado, um plano de reabertura da cidade, incluindo a realização de uma série de eventos já no início de setembro. Após as reações negativas, o prefeito itiu falha na comunicação do plano.

Para o Carnaval de rua, a intenção da prefeitura é que uma empresa fique responsável pela produção e implementação do e aos blocos, com custo bancado por patrocinadores. Foi estabelecida, por exemplo, a previsão de instalação de 34 mil banheiros químicos nas áreas de desfiles e em seus entornos.

Os interessados terão um mês para apresentarem suas propostas. Também está prevista a instalação de oito postos médicos no centro, zona sul, Barra da Tijuca e Recreio dos Bandeirantes.

Os locais exatos dos desfiles serão definidos mais à frente pela Riotur. Será criado um site para a divulgação dos desfiles dos blocos.

A prefeitura estabeleceu o cadastramento de 10 mil vendedores ambulantes que circularão nos blocos com coletes numerados e credencial. A ideia é que haja venda de bebidas e outros produtos de possíveis patrocinadores.

Além do Carnaval de rua, a Riotur já havia lançado esta semana a convocação para patrocinadores do desfile de escolas de samba da Estrada Intendente Magalhães. Entre 26 de fevereiro e 5 de março, está prevista a apresentação de 60 agremiações de divisões de o. Neste caso, a ideia é conseguir arrecadar R$ 3,5 milhões.

Rio prevê público de 3 milhões em Réveillon

Outra festa que já está na programação da Prefeitura do Rio é o Réveillon. Na virada de 2021 para 2022, a Riotur projeta uma festa para 3 milhões de pessoas em dez bairros. Só no evento principal, em Copacabana, a expectativa é de um público de 2 milhões de cariocas e turistas.

Tudo, no entanto, pode ser cancelado, caso os números de casos de covid continuem a subir.

Hoje, mesmo itindo o aumento por causa do avanço da variante delta, Paes não ampliou as medidas de restrição na capital fluminense, jogando essa possibilidade mais para frente, caso haja um reflexo maior em casos graves e óbitos.

Atualmente, apenas boates e festas com vendas de ingresso estão proibidas. O restante dos estabelecimentos pode funcionar observando algumas regras, como distanciamento e uso de máscaras.