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

Após cancelar bloco, Preta Gil fala sobre Carnaval 2022: 'Seguir a ciência'

Preta Gil lança coleção de verão - Divulgação
Preta Gil lança coleção de verão Imagem: Divulgação

Laysa Zanetti

Do UOL, em São Paulo

05/12/2021 04h00

Preta Gil já fez questão de anunciar: o já tradicional Bloco da Preta não sai às ruas do Rio de Janeiro no Carnaval 2022. A cantora desistiu do desfile após ter feito o pedido para a prefeitura, em virtude dos desdobramentos da pandemia. Durante o lançamento de sua nova coleção de verão em parceria com a C&A, Além dos Mares, nesta quinta-feira, Preta conversou com o UOL e explicou sua decisão.

Segundo ela, a resolução sobre o que vai acontecer com o Carnaval 2022 deve vir com base na ciência. "As autoridades precisam observar e seguir a ciência e as orientações dos médicos e sanitaristas. Isso vai acontecer, ninguém vai autorizar um Carnaval se não for possível fazer um Carnaval. A questão não é essa. Ele pode ser autorizado."

Mesmo assim, para ela, a decisão de não sair com o Bloco da Preta tem um motivo pessoal.

Eu, Preta, não me sinto pronta emocionalmente para puxar um bloco. ei por perdas e lutos que ainda vivo durante essa pandemia. Perdi meu melhor amigo. Celebro muito o fato de estar viva, mas acho que não tenho a alegria esfuziante da qual preciso para subir em um trio e comandar um bloco para 1 milhão de pessoas.

"É uma escolha pessoal. Não sei se vai ter Carnaval", prossegue. "Se tiver e os meus colegas se sentirem seguros e for algo de fato tranquilo para todos, eu vou aplaudir. Mas eu não consigo. Ainda vivemos uma pandemia. Vou voltar para as ruas quando não houver mortos. Eu não consigo naturalizar um 'só tem 300 mortos por dia'. Então, vou esperar."

Preta Gil é uma das quatro artistas que assinam a nova linha de verão da marca, ao lado de Grazi Massafera, Manu Gavassi e Ludmilla. As peças criadas por Preta fazem homenagem a Salvador, cidade onde ela cresceu, após se mudar do Rio de Janeiro aos seis meses de idade.

"Eu só precisei fechar meus olhos e lembrar da minha infância. Quando fiz isso, coloquei várias ideias no papel. O jambo, que é uma fruta que meu avô me dava, está na estampa floral. A oncinha foi um maiô que ganhei da Lidoca, que era das Frenéticas", conta. "Meu sonho era ter um maiô de oncinha, e ela me deu de presente quando eu tinha 5 anos, em Salvador. O confete em forma de coração tem a ver com o Carnaval, que vivo desde que nasci. A coleção tem a minha história."