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

Simaria atrasa 1h20 e ignora tentativas de Simone de encerrar show

De Splash, em São Paulo

11/06/2022 11h37Atualizada em 13/06/2022 13h17

A cantora Simone começou a apresentação sozinha na madrugada de hoje no show do São João de Caruaru. Ela explicou que a irmã havia ado mal pela manhã.

"Ela não conseguiu pegar o voo até aqui [pela manhã], deu uma melhorada à tarde, conseguiu pegar um voo e tá na estrada chegando para dar um beijo em vocês", disse. "Enquanto a tampa da minha a não vem, vocês podem ser a tampa da minha a por enquanto?", pediu a cantora.

Simaria chegou cerca de 1h20 depois do início do show, que já estava no fim. "Cheguei chegando e vim de vermelho porque sou a cereja desse bolo", declarou.

Ela se explicou: "Esse meu atraso hoje tem uma explicação: só Deus sabe o que eu venho ando internamente por trás dessa artista aqui. É muita luta, é muita dor. Mas ainda assim eu me levanto. Sabe por quê? Porque eu sou a filha de Deus, a filha amada do senhor".

Após cantarem três músicas, Simone tentou encerrar o show pela primeira vez. "Coleguinhas, chegou a hora de ir embora", disse.

Simaria rebateu: "Nós não vamos embora, eu ganhei mais um pouquinho de tempo para vocês".

Enquanto cantavam a música seguinte, Simone pediu que o público cantasse "para terminar legal" e se despediu novamente. "Obrigada Caruaru! Tchau!"

"Mais uma Simone, 'guenta aí!' Pelo menos mais umas três", respondeu Simaria, iniciando outra música.

Simone se despediu novamente ao fim da canção, mas Simaria começou a cantar de novo. "Para terminar bonito, mais uma música!"

Ao fim, Simaria se agachou no palco, ficou com o rosto abaixado por alguns segundos e repetiu a frase que disse ao chegar. "Ainda assim, eu me levanto! Tchau coleguinhas", gritou, encerrando, finalmente, a apresentação.

A situação chamou atenção dos fãs nas redes sociais, que até compilaram as tentativas de Simone encerrar o show enquanto Simaria prolongava a apresentação.

Splash entrou em contato com a assessoria da dupla questionando se gostariam de acrescentar algum comentário e aguarda. O texto será atualizado assim que houver um retorno.