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

Fabi Gomes

OPINIÃO

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

Quando treino, grito, sofrimento e superação vem embalado de autocuidado

skynesher/Getty Images
Imagem: skynesher/Getty Images

Colunista de Universa

18/10/2022 04h00

Um tempo atrás, falando com um amigo ao telefone, esse me informa que desligaria porque precisava "pagar uma física".

Ri e lembrei que algumas pessoas mais velhas da minha família costumavam falar "fazer física" ao se referir à prática de atividade física. Como diz meu filho mais novo: "Deu mó nostalgia".

Provavelmente, a associação vem justamente da prática da disciplina de educação física. Para muita gente, especialmente as de classes sociais —eu ia dizer "menos abastadas", mas entendo que "desemparadas" cai melhor— a disciplina é uma das portas de entrada para a relação com o próprio corpo. De entendimento, trabalho, prazer e da tal consciência corporal.

Prometo não derivar. Deixa eu voltar pro que eu tava a fim de falar com vocês hoje. Na era do autocuidado (ou seria melhor dizer era do discurso do autocuidado?), é interessante observar que essa relação de suposto cuidado com corpo aponta para outros lugares. Não necessariamente do cuidado em si. Aqui, tomo a liberdade de trazer a definição de cuidado que encontramos no Dicionário Aurélio: "1. Desvelo. 2. Responsabilidade. 3. Atenção, cautela". Hmm.

No entanto, a transformação e a superação parecem ser os grandes estandartes quando o assunto é corpo. O que vem de fábrica nunca é bom o suficiente e precisamos incessantemente buscar opções —maquiagem (transformadora), cirurgias plásticas, harmonizações faciais e corporais, toda sorte de medicamentos e substâncias que possam alterar processos metabólicos que nos ajudem a "chegar lá". Ainda que tenhamos que, literalmente, pagar tais intervenções com um rim.

As pessoas já não se exercitam, elas treinam. Não se exercitam pra dar um axé nos pulmões e coração, para liberar energia em excesso. Não. Elas treinam. Hoje em dia, o lance é "pagar um treino". E mais que pagar o treino, você precisa se superar. Esse lance de superação ligada ao corpo costumava ficar associado à vida de atletas. Já não mais, todos precisamos nos superar incessantemente.

Até o modo como os instrutores (treinadores?) falam com a gente é como se fossemos golfinhos. Quando você segura um minuto na prancha, antes de desfalecer, ainda pode escutar um "Muito bem, Flipper".

Aquela caminhadinha ao ar livre, curtindo a temporada de pitangas e amoras, tá total fora de cogitação. Vai pra academia de crossfit, levanta uns pneus e corre duas vezes no quarteirão ao redor da academia. Ali mesmo, naquela avenida cheia de carros e envolta em gás carbônico. Prazer? Se liga! No pain, no gain! Até a coitada da ioga, originalmente voltada ao respeito e entendimento dos limites e na elaboração do caminho, mais que o foco no fim, tem sido usada de modo deturpado de seu objetivo primeiro.

Bem, na real, cada um cuida de si como bem entender. Se fulano curte sofrimento, gritos, superação, música alucinante e iluminação de boate no momento de autocuidado, que faça bom proveito. Se beltrana ama marcar todo corpo com caneta piloto e depois cortar e modelar a seu gosto, que seja feliz para sempre na saga do (agora chamado) autocuidado.