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

TV: vizinha se mudou após homem que ofendeu motoboy jogar pedra em carro

Homem que ofendeu motoboy já tacou pedra em carro no condomínio onde mora - Reprodução/Globo
Homem que ofendeu motoboy já tacou pedra em carro no condomínio onde mora Imagem: Reprodução/Globo

Do UOL, em São Paulo

09/08/2020 22h41

O homem que apareceu nesta semana em um vídeo xingando um motoboy, em Valinhos, no interior de São Paulo, foi flagrado há dois anos arremessando pedra em um carro no condomínio onde mora. O registro foi exibido hoje no "Fantástico".

Segundo a reportagem, a vizinha que teve o veículo danificado se mudou porque ficou com medo do contabilista Mateus Abreu Almeida Prado Couto, de 31 anos.

O programa da Globo ainda conversou com um psiquiatra que já cuidou de Mateus Prado, que confirmou que ele sofre de esquizofrenia paranoide. Porém, um outro especialista ouvido pela reportagem disse que uma investigação é necessária.

"Aparentemente, esse rapaz não estava em surto psicótico. Ele tinha capacidade mental, cognitiva, afetiva e ideal do controle que é demonstrado pelas atitudes, expressão verbal e gestos pelo vídeo", disse Paulo Clemente Sallet, psiquiatra do Hospital das Clínicas - USP.

Ontem, um grupo de entregadores organizou um buzinaço em frente ao condomínio onde o motoboy Matheus Pires foi vítima do ato racista.

O ato em apoio ao entregador ocorreu por volta das 9h no bairro Chácara Silvania, onde fica o conjunto. Segundo organizadores do evento, ao menos 100 entregadores e apoiadores estiveram presentes no protesto.

Relembre o caso

O vídeo de um ato de discriminação viralizou na internet nesta semana. As imagens feitas por um morador de um condomínio residencial de alto padrão mostram um homem branco xingando e humilhando um entregador de aplicativo negro por causa de um atraso na entrega.

O caso aconteceu em 31 de julho, mas só repercutiu após a mãe de Matheus Pires, 19, publicar as imagens nas redes sociais na noite desta quinta-feira (6).

O episódio aconteceu quando Matheus, que é motoboy a serviço do iFood há pelo menos um ano, entregava uma refeição no condomínio.Um vizinho começou a filmar apenas depois de a discussão começar. É possível ver Matheus sendo chamado de "lixo" e "semianalfabeto".

O agressor diz ainda que o jovem tem "inveja da vida que as pessoas dali têm", e afirma que o profissional não tem onde morar, nem "nunca vai ter nada disso aqui".

Em dado momento, o homem branco aponta para o braço e diz que o entregador negro tem inveja daquilo, mas nunca poderá ter aquilo.

A Polícia Civil de Valinhos informou que não há inquérito aberto para apurar o caso.