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

Entregador atropelado por jogador do Flamengo era rubro-negro 'fanático'

Familiares choram no enterro de Jônatas Davi dos Santos, ciclista atropelado por Ramon, lateral do Flamengo - Tatiana Campbell/Colaboração para o UOL, no Rio de Janeiro
Familiares choram no enterro de Jônatas Davi dos Santos, ciclista atropelado por Ramon, lateral do Flamengo Imagem: Tatiana Campbell/Colaboração para o UOL, no Rio de Janeiro

Tatiana Campbell

Colaboração para o UOL, no Rio de Janeiro

06/12/2021 15h09

Cerca de cem pessoas, entre parentes e amigos, acompanharam o sepultamento do entregador Jônatas Davi dos Santos, de 30 anos, no cemitério de Mongaba, em Magé, na Baixada Fluminense, hoje pela manhã. Jônatas morreu atropelado pelo carro conduzido pelo lateral do Flamengo, Ramon, na Avenida das Américas, na Barra da Tijuca, na Zona Oeste do Rio de Janeiro, no último sábado (04).

"Ele sempre foi um marido exemplar, um filho maravilhoso. Era um grande trabalhador, tinha vezes que ele estava comendo, aí apitava o aplicativo e ele largava tudo para ir trabalhar", disse Almerita Severina Teotônio, 55, tia de Jônatas.

Durante o sepultamento, Priscila dos Santos, que era casada com o entregador, chegou a desmaiar. Ele tinha três filhas, a mais nova de apenas oito meses.

"Ele queria colocar a filha no judô, a outra na ginástica, ele suava para dar uma vida boa para a família", acrescenta Almerita.

A tia de Jônatas falou ainda sobre o fanatismo do rapaz pelo Flamengo.

"Tinha dias que eu queria dormir e ele lá vendo o futebol, eu brigava com ele do tanto que ele focava nisso. Ele era fanático pelo Flamengo, ficava gritando nos gols. O sonho era ser jogador do Flamengo, mas não teve condições [financeiras], não foi possível, mas Deus sabe das coisas. O rapaz na hora do acidente deu assistência, eu estive no hospital, na delegacia e eu creio que Deus está na frente".

Relembre o acidente

Jônatas dos Santos estava a caminho de uma entrega na noite de sábado (04) na Avenida das Américas, uma das mais movimentadas da Barra da Tijuca, na altura do número 10.500, na Zona Oeste do Rio de Janeiro, quando aconteceu o acidente.

Em depoimento, o jogador do Flamengo disse que foi surpreendido pela bicicleta mudando de faixa repentinamente provocando a colisão. Ramon prestou socorro ligando para o Corpo de Bombeiros, por volta das 20h35. O entregador chegou a ser levado para o Hospital Municipal Lourenço Jorge, na mesma região, mas morreu antes de chegar na unidade.

Após o acidente, o jogador foi para a 16ª DP (Barra da Tijuca). Para os agentes, Ramon disse que não havia ingerido bebida alcoólica e que não estava acima da velocidade. Em nota enviada ao UOL Esporte, a polícia afirmou que o atleta não apresentava sinais de embriaguez. Ele vai responder por homicídio culposo - quando não há a intenção de matar - provocado por atropelamento.

Hoje pela manhã, policiais da 16ª DP estiveram no local do acidente para recolher imagens de câmeras que serão analisadas pela Polícia Civil.

O que diz o jogador

Por meio de nota, o jogador lamentou o acidente e ressaltou "que estava dentro da velocidade permitida" e que esta à disposição para colaborar com as investigações.

Ramon garantiu que irá "auxiliar em tudo o que for necessário a família da vítima" e que estaria "em contato com a família do Jônatas para dar o e necessário e colaborar com possíveis despesas do sepultamento".