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

Tiktoker Gabriel Netto morre aos 20 anos afogado em represa de MG

Gabriel Netto morreu afogado enquanto nadava em uma represa no interior de Minas Gerais - Reprodução
Gabriel Netto morreu afogado enquanto nadava em uma represa no interior de Minas Gerais Imagem: Reprodução

Colaboração para Splash, em Maceió

05/02/2023 15h13Atualizada em 06/02/2023 13h33

O influenciador digital Gabriel Netto morreu aos 20 anos, afogado, enquanto nadava em uma represa no interior de Minas Gerais. A informação foi confirmada neste domingo (5) pelos familiares do tiktoker.

Segundo o Corpo de Bombeiros, Netto perdeu a consciência enquanto nadava em uma represa de Juiz de Fora. Ele mergulhou, mas não retornou. Ainda não foi revelado o motivo que o deixou inconsciente.

Alguns minutos depois, amigos que estavam com Gabriel conseguiram retirá-lo da água. Entretanto, o jovem não resistiu e morreu.

No Instagram, a irmã de Gabriel, Aline Oliveira Netto, lamentou a morte do irmão. Ela afirmou que essa "é a maior dor" que já sentiu na vida. "Hoje, não perdi apenas um irmão, perdi uma parte da minha alma. O meu amigo, conselheiro, companheiro de vida, de trabalho, das festinhas."

"Uma grande parte de mim se foi com você. Estive com você até no seu último minuto de vida. Sou eternamente grata pela nossa união. Você foi e sempre será o nosso Gabriel. Esta é a maior dor que alguma vez experimentei na vida. Perder meu irmão é perder parte da minha vida, é ver desvanecer a felicidade, a alegria de existir", continuou.

Em seu relato, Aline destacou o companheirismo de Gabriel e afirmou que jamais esquecerá como ele sorriu para ela, pouco tempo antes de morrer afogado.

"Não vou me esquecer nunca do último sorriso que você deu para mim antes de tudo acontecer e nunca vou esquecer desses 20 anos vividos com você. Descanse em paz meu brother e olhe por mim se puder. Estarei aqui, chorando e orando por você, honrando nosso relacionamento e também seu nome e legado infinito de amor e amizade. Te amo eternamente", completou.

Gabriel Netto fez sucesso no TikTok ao compartilhar vídeos de sua rotina no interior de Minas Gerais. Na plataforma, o influenciador somava mais de 1,6 milhão de seguidores e 20 milhões de curtidas em suas publicações.

No Twitter, os seguidores de Gabriel lamentaram sua morte.