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

'Estou desesperada, com medo de esquecer', diz viúva de Erasmo Carlos

Desde a morte de Erasmo Carlos, Fernanda os posta textos em homenagem ao marido nas redes sociais - Reprodução/Instagram
Desde a morte de Erasmo Carlos, Fernanda os posta textos em homenagem ao marido nas redes sociais Imagem: Reprodução/Instagram

De Splash, em São Paulo

24/11/2022 10h24

Fernanda os, viúva de Erasmo Carlos, desabafou sobre a morte do marido em um texto publicado no Instagram na manhã de hoje. No desabafo, ela diz:

"Nenenhô! Você sentiu a brisa do mar? A água gelada bater e levar nossos nomes? Você tava aonde? Comigo? Em mim? Na varanda me olhando? Me sinaliza pra eu não morrer de desespero! Do palco você sempre queria saber onde eu estava sentada para olhar na minha direção. Eu tô desesperada, estou com medo de esquecer dos detalhes da gente, amoooor!"

Em outro trecho do texto, ela relembra os últimos dias com o músico, que morreu na terça-feira (22) por uma paniculite: "Eu não queria que ninguém te visse, te tocasse, te encarasse assim! Mas eu deixei você me guiar e sua voz no meu ouvido: deixa pra lá, meu bem! Finge que não ouviu, eu quero viver em paz. Eu só quero paz. Que orgulho da sua sabedoria!! Você soube se preservar e eu quero manter te preservando".

"Meus 1,62 eram incapazes de fazer o que eu gostaria pelos seus 1,86. Mas eu me muni das minhas armas e fui. Minhas armas eram o meu amor incondicional por você e a música. Uma guerra assistida e solitária! Daqui a pouco as pessoas vão retomar a vida, vão me esquecer e deixar de falar de você, mas eu vou continuar lutando", finaliza a pedagoga.

Essa não é a primeira homenagem que Fernanda faz para o marido: além dos textos se declarando, ela mudou seu nome no Instagram para "Fernanda Esteves", adotando o sobrenome de Erasmo Carlos.

Além disso, foi ao velório do músico com o mesmo vestido que usou no dia do casamento, em janeiro de 2019. No velório, foi vista chorando em conversa com Léo Esteves, filho de Erasmo Carlos.