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

Trevor Strnad, da banda Black Dahlia Murder, morre aos 41 anos

Trevor Strnad, vocalista da banda Black Dahlia Murder, morre aos 41 anos - Reprodução
Trevor Strnad, vocalista da banda Black Dahlia Murder, morre aos 41 anos Imagem: Reprodução

Colaboração para Splash, de São Paulo

12/05/2022 07h34Atualizada em 12/05/2022 08h24

Vocalista e fundador da banda de heavy metal Black Dahlia Murder, Trevor Strnad morreu aos 41 anos. A notícia foi confirmada pelos integrantes da banda na quarta-feira, pelas redes sociais. Apesar de a causa da morte não ter sido divulgada, a banda compartilhou mais informações sobre o contato da Linha Nacional de Prevenção ao Suicídio.

"É com profunda tristeza que anunciamos o falecimento de Trevor Scott Strnad. Amado filho, irmão e pastor dos bons tempos, era amado por todos que o conheciam. Uma enciclopédia ambulante de todas as coisas da música", escreveu o perfil da banda no Instagram.

A formação do grupo de heavy metal veio em 2000. Depois de soltar uma série de EPs independentes, a banda assinou um contrato com a gravadora Metal Blade Records, que lançou todos os álbuns da Black Dahlia Murder, incluindo o mais recente, "Verminous", de 2020.

Com o comunicado sobre a morte do cantor, tanto pelo grupo musical quanto pela gravadora, figuras marcantes do heavy metal lamentaram a perda. "Esse homem mudou minha vida e acreditou em mim mais do que eu mesmo. Eu não posso acreditar que não haverá mais risadas, músicas escritas em conjunto, ou palcos dizimados com Trevor no leme", comentou Brandon Ellis, guitarrista da banda.

O grupo de deathcore Shadow of Intent também se manifestou sobre a tragédia. "Trevor acreditou em nós desde o início, quando poucas pessoas acreditavam, sua banda nos levou em nossa primeira turnê completa nos EUA. É difícil expor exageradamente o que Trevor significou para o metal e o quanto sua presença fará falta", concluiu.

Para este ano, o Black Dahlia Murder tinha planos para seguir uma turnê, começando por um show no dia 20 de maio, como parte do Daytona Beach, na Flórida. No entanto, com a morte do vocalista Trevor Strnad, não se sabe se esta turnê seguirá adiante.

Peça ajuda

Caso você esteja pensando em cometer suicídio, procure ajuda especializada como o CVV e os CAPS (Centros de Atenção Psicossocial) da sua cidade.

O CVV (https://www.cvv.org.br/) funciona 24 horas por dia (inclusive aos feriados) pelo telefone 188, e também atende por e-mail, chat e pessoalmente. São mais de 120 postos de atendimento em todo o Brasil.