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

Mari Fernandez sonha em cantar com Marília Mendonça: 'Pense na sofrência'

Mari Fernandez lança o EP "Pra Lascar o Coração" com três músicas inéditas
Mari Fernandez lança o EP "Pra Lascar o Coração" com três músicas inéditas
Divulgação

De Splash, no Rio

13/08/2021 12h00

O nome do EP que Mari Fernandez está lançando hoje dá o tom do negócio: "Pra Lascar O Coração".

Sim, a cantora que bombou com o piseiro-sofrência "Não, não vou" está com tudo novo: álbum, gravadora —foi nova contratada pela Sony Music— e muitos planos.

Entre os sonhos, está gravar com a maior autoridade no assunto sofrência nesse país.

Claro, ela: Marília Mendonça.

Continua depois da publicidade
Eu sonho demais com um feat com a Marília. De todos em que me inspiro, é meu maior ídolo. Quem sabe? Acho que o Brasil ainda não está preparado. Pense na sofrência, vai ser pesada!
Mari Fernandez, na entrevista de lançamento do EP
Divulgação - Divulgação
Mari Fernandez tem apenas 20 anos e chegou ao 1º lugar no Spotify com "Não, Não Vou"
Imagem: Divulgação

Marília não está no novo trabalho, mas a sofrência é garantida. O nome do disco, segundo ela, vem do bordão que ela canta no início das músicas. A prática virou febre entre os forrozeiros e Mari também garantiu o dela: "Esse pegou demais, você vê a galera cantando".

Animada enquanto canta trechos das músicas do novo EP, Mari diz que a maior expectativa é a de poder fazer seus primeiros shows. Profissional há 5 anos como compositora, ela estourou como cantora há pouco mais de 4 meses, com "Não, Não Vou", que chegou a ser a música mais ouvida do país.

Continua depois da publicidade
Tem muita coisa que eu não pude viver ainda na música, então eu quero fazer tudo. Cantar nos lugares que sempre sonhei, ver as pessoas cantando minhas músicas.

Aos 20 anos, Mari, que é de Alto Santo, no interior do Ceará, se mudou para Fortaleza há dois anos, para tentar viver de música.

"A minha cidade é muito pequena, não costuma ter nem música ao vivo, mas sempre sonhei que podia ser cantora e lutei muito", conta ela, que começou a cantar na igreja.

Divulgação - Divulgação
Após sucesso de 'Não, Não Vou', Mari Fernandez foi contratada pela Sony Music
Imagem: Divulgação

Agora, a jovem espera que as pessoas gostem de canções como "Marionete", "Saudade Carinhosa" e "Pra Lascar Seu Coração", as três do novo álbum, como gostaram do hit que a levou ao topo das paradas:

"Estou muito animada com o resultado e quero ver todo mundo cantando".