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

Michel Alcoforado

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Astrid, Prioli e o São João: por que é erro congelar a cultura no formol

Gabriela Prioli e Astrid Fontenelle debatem sobre o São João no programa "Saia Justa" - Reprodução/Twitter
Gabriela Prioli e Astrid Fontenelle debatem sobre o São João no programa 'Saia Justa' Imagem: Reprodução/Twitter

Colunista do UOL

27/06/2023 10h20

Era de se esperar.

A loucura dos coaches de nutrição a ditar o que é certo ou errado na dieta dos brasileiros não tinha como dar em um bom lugar. Enfrentar as festas juninas sem a lactose das canjicas, o açúcar das cocadas ou a proteína animal dos churrasquinhos já mostra graves consequências. Ninguém entende mais ninguém.

O fato mais recente foi o entrevero entre a apresentadora Astrid Fontenelle e a pensadora pop Gabriela Prioli no último "Saia Justa", o famoso programa de debates do GNT.

Às vésperas do dia de São João, a trupe achou de bom tom discutir a intensa transformação vivida pelas festas juninas espalhadas pelo Brasil. De uns tempos para cá, os moderninhos do Oiapoque a Chuí decidiram cair de cabeça na época festiva e reinventá-la.

As quadrilhas animadas já dançam axé. Baião e forró deram lugar às dancinhas trendies do TikTok; o padre e os noivos vendem abadás e presença vip na cerimônia. Nem beijo se dá mais. A barraca foi banida pelas hordas de eleitores conservadoros do imbrochável.

Astrid não gostou. Em nome do povo brasileiro, falou com o coração e pediu que mantenham o amendoim cozido, Luiz Gonzaga e a tradição da festa inventada em tempos imemoriais. Prioli, com um tom professoral, rebateu. Com a embocadura de quem entende mais de livro que de festa, desfiou uma série de clichês, reforçou que as festas devem mudar de acordo com o gosto da clientela. A internet foi ao delírio, como se estivéssemos diante de uma disputa de titãs.

É preciso ir com calma. As discordâncias entre as apresentadoras moram mais na forma que no conteúdo. Eu concordo com as duas.

Tanto Gabriela quando Astrid devem concordar que, para que as manifestações culturais se mantenham vivas, precisam estar diretamente conectadas aos nervos de uma dada sociedade. Tentar congelar qualquer manifestação cultural no tubo de formol é um erro. A cultura avança, as pessoas se transformam e, nesse jogo, não devia ser um choque para ninguém compreender as inovações.

Hoje, ninguém dança quadrilha como nossos bisavós e as novas gerações também não o farão. Talvez prefiram dançar com o último modelo de inovação do óculos de realidade virtual da Apple, sozinhos, como se estivessem em um delírio coletivo. É assim desde sempre.

Os festejos juninos nasceram como uma festa pagã ainda na Idade Média. Longe do controle bizarro da sisuda Igreja, camponeses da Península Ibérica comemoravam o resultado da colheita e a chegada do verão com muita comida, bebida e festa. Com o ar do tempo, a igreja capturou a brincadeira. Aproveitou a oportunidade para celebrar Santo Antônio, São João e São Pedro, santos católicos lembrados nos dias de junho. De uma hora para outra, o que servia comemorar a fartura da roça se transformou em um momento de exaltação do panteão de divindades católicas.

Com a colonização, a confusão sacro-pagã aterrou no Brasil e se misturou ao catolicismo popular do campesinato pobre do Nordeste do país. De lá pra cá, a festa se espalhou e transformou-se em uma tradição com força de mobilizar multidões no mês de junho há gerações. Seja na Bahia, Pernambuco, Paraíba etc. Assim são as tradições.

Eric Hobsbawn e Terence Ranger, no clássico livro "A Invenção das Tradições", lembram da contradição fundamental inerente aos costumes e rituais mais tradicionais. Por serem repetidos com frequência, mais ou menos do mesmo jeito, há tanto tempo, nós tendemos a acreditar que as tradições remontam a tempos míticos e sempre foram como são. Não é verdade.

Tradições são inventadas e reinventadas cotidianamente para que continuem a fazer sentido, conectadas às nossas memórias coletivas e criando uma forte conexão do presente com outrora.

Moderna do jeito como é e sem apego a naftalinas, Astrid Fontenelle deve concordar. No entanto, o que a apresentadora pede é que sigamos com calma, de forma lenta, com as mudanças no ritual. Caso contrário, elas deixarão de funcionar como tradição e não cumprirão seu papel de conectar presente, ado e futuro num só lugar.

O problema é que o capitalismo tem pressa. A entrada massiva de marcas, dos influenciadores ávidos pelos melhores posts, da camarotização das apresentações dos artistas e da transformação do foliões em clientes e consumidores tem esvaziado os sentidos da festa. E, sem sentido, não há tradição.

Sabendo da preferência de Gabriela Prioli por citações mil, diante da imbróglio, me lembro de um trecho de um samba de Paulinho da Viola quando se viu diante do mesmo dilema da mutação do samba:

"Tá legal, eu aceito o argumento

Mas não me altere o samba tanto assim

Olha que a rapaziada está sentindo a falta

De um cavaco, de um pandeiro ou de um tamborim

Sem preconceito ou mania de ado

Sem querer ficar do lado de quem não quer navegar

Faça como um velho marinheiro

Que durante o nevoeiro

Leva o barco devagar"

É preciso ir com calma.