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

Instrutor de academia erra série, cai de cabeça e é achado morto em SP

Bruno Roque treinava em barra fixa na área aberta de condomínio quando se acidentou  - Arquivo Pessoal
Bruno Roque treinava em barra fixa na área aberta de condomínio quando se acidentou Imagem: Arquivo Pessoal

Laís Seguin

Colaboração para o UOL, em Piracicaba (SP)

16/01/2023 15h00Atualizada em 16/01/2023 15h00

Um instrutor de academia de 35 anos morreu após sofrer um acidente com uma barra fixa para exercícios em Jundiaí (SP). Ele se erguia no equipamento quando caiu e não resistiu ao impacto. Mesmo com a tentativa de resgate do SAMU (Serviço de Atendimento Móvel de Urgência).

No último sábado (14), Bruno Rodrigues Roque Pereira estava em uma área aberta atrás de um condomínio quando se acidentou, de acordo com o boletim de ocorrência. A morte do profissional de educação física foi confirmada no local.

O caso foi encaminhado ao Plantão Policial da cidade de Jundiaí e o delegado Leonardo Pontes Montenegro pediu o celular da vítima para que a Polícia Científica pudesse analisar se ele gravava vídeos dos exercícios.

Testemunhas relataram aos policiais que Bruno fazia movimentos de "calistenia", antes de falecer. Neles, se usa o peso do próprio corpo, sem utilização de halteres e similares para desenvolver a habilidade de força.

Ao finalizar a série, em um movimento em que deveria ficar em pé, ele caiu de cabeça em um colchão, dobrando o pescoço e 'apagando' imediatamente. Ainda segundo as testemunhas, assim que sofreu a queda, o professor já não respondeu mais a estímulos.

A academia onde Bruno trabalhava lamentou a perda e postou uma homenagem nas redes sociais.

"Professor, amigo, colega de trabalho e colaborador incrível que tivemos o privilégio de ter em nossa equipe! Nos despedimos com muita tristeza do Bruno, um dos melhores profissionais que já aram por aqui. Que você descanse em paz! E descanse sabendo que você deixou uma marca eterna em nossas vidas, com todo carinho, profissionalismo e dedicação que você teve conosco e com todos os nossos alunos", escreveram em nota.

A irmã de Bruno, Tais Monique Roque, também se manifestou. "Coração dói, sangra por dentro e corre em lágrimas. Meu irmão se foi e como eu disse para ele essa semana: "Voa, o mundo é seu"; e ele voou para Deus fazendo uma das coisas que ele mais amava fazer. Eu via e compartilhava dessa felicidade dele", escreveu numa publicação.

Bruno foi enterrado no Cemitério de Itupeva (SP), na tarde de ontem.