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

Jornalista irlandesa morre após publicar despedida: 'Indo para casa morrer'

Aideen Kennedy trabalhou como jornalista no canal irlandês UTV - Reprodução/UTV
Aideen Kennedy trabalhou como jornalista no canal irlandês UTV Imagem: Reprodução/UTV

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

19/06/2022 14h37Atualizada em 19/06/2022 14h59

A jornalista irlandesa Aideen Kennedy morreu aos 43 anos após lutar contra uma doença terminal e se despedir dos seguidores nas redes sociais. A morte da repórter, mais conhecida na Irlanda por seu trabalho no canal UTV, foi confirmada ontem por ex-colegas de trabalho.

Na sexta-feira, Aideen publicou uma mensagem no Twitter afirmando que estava prestes a morrer, mas que receberia cuidados paliativos em casa. Essa assistência visa diminuir o sofrimento de pacientes em estágios avançados de doença ou em estado terminal.

"A vida não correu bem e eu estou tão doente quanto estava quando fui para o hospital, então essencialmente estou indo para casa morrer, mas recebendo cuidados paliativos", desabafou. "As crianças sabem. Se encontrá-los, fique de olho neles, são as crianças mais gentis, doces e atenciosas", concluiu, referindo-se a seus filhos pequenos, Jacob e Eva.

A mensagem também inclui fotos das crianças e de uma carta feita pela caçula, que diz: "Mamãe, espero que você fique bem logo. Te amo muito!".

A causa da morte de Aideen não foi divulgada, mas na semana ada, a jornalista informou que estava sofrendo com um sangramento no estômago e disse ter recebido 12 transfusões de sangue.

"Deus abençoe as pessoas que doam sangue. Estou na minha décima segunda transfusão e não acredito que alguém poderia ser tão gentil e altruísta", disse.

Ken Reid, ex-editor de política na UTV, homenageou a ex-colega de emissora.

"Hoje o pensamento de que Aideen não está mais conosco é de partir o coração. Uma boa alma que sofreu muito. A notícia chocou muitos de nós. Todos precisamos nos cuidar. Deus a abençoe. Descanse em paz", escreveu.

Uma amiga de Aideen também lamentou a morte da repórter.

"Estou desolada. Minha linda, divertida e gentil amiga Aideen faleceu. Eu vou sentir muito a falta dela. Nos conhecemos há 22 anos quando compartilhamos um quarto no verão na capital e nos tornamos amigas. Adeus, linda garota", publicou.

Além dos filhos, Aideen também deixa seus pais Noel e Maura. Em entrevista ao site Belfast Telegraph em 2018, ela contou que seus pais já haviam perdido três dos quatro filhos. Seu irmão Dara, que tinha um tumor no cérebro, morreu em 2016, e sua irmã Fiona morreu no mesmo ano após ser diagnosticada com câncer. Outro irmão, Rory, morreu quando era criança em um acidente de carro.