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

Sabrina Sato usa meme para responder se está solteira: 'Mas tô bem, tô bem'

Meme de Simaria foi usado por Sabrina Sato para responder pergunta no Instagram sobre solteirice - Reprodução/ Instagram @sabrinasato
Meme de Simaria foi usado por Sabrina Sato para responder pergunta no Instagram sobre solteirice Imagem: Reprodução/ Instagram @sabrinasato

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

01/05/2023 13h46Atualizada em 01/05/2023 14h02

Sabrina Sato utilizou vários memes para responder perguntas feitas pelos seus seguidores no Instagram neste último fim de semana.

Um deles quis saber se ela está solteira. Com humor, ela então usou um trecho de um meme com a Simaria na resposta. "Mas tô bem, tô bem, tô bem", canta Simaria, que foi marcada nos Stories do Instagram de Sabrina com um emoji de riso.

Entre as perguntas feitas, vieram elogios. "A mais bela do Carnaval todos os anos", escreveu um perfil.

Outra conta que acompanha a apresentadora citou a jovialidade dela, que tem 42 anos. "Sabrina, você tem [cara] de 20 anos."

1 - Reprodução/Instagram @sabrinasato - Reprodução/Instagram @sabrinasato
Sabrina Sato usou vários memes para responder a interação com os seguidores no Instagram
Imagem: Reprodução/Instagram @sabrinasato

Desta vez, ela usou o meme de Cariúcha ao ser entrevistada no Profissão Repórter (Globo) após perder o concurso Garota da Laje, em 2009: "Eu não tenho uma cirurgia plástica, eu não tenho nada. Sou toda natural, eu sou bonita para caramba".

Veja dois dos memes usados:

Término com Duda Nagle

Sabrina anunciou o fim do relacionamento com o ator Duda Nagle no dia 21 de março, por meio de comunicado nas redes sociais. O casal estava junto desde 2016.

A apresentadora disse que a separação foi a melhor decisão para os dois e para sua filha, Zoe, de 4 anos.

"Este é um comunicado difícil, mas necessário. Eu e Duda estamos terminando o nosso relacionamento. Será melhor para nós dois. Deixamos de ser um casal, mas continuamos juntos no amor e no cuidado com a nossa filha", escreveu.

Duda também se manifestou nas redes sociais. O ator disse que é "com muita tristeza" que o noivado chegou ao fim.

"Sabrina e eu temos valores, prioridades e objetivos diferentes como casal e núcleo familiar. Decidimos em comum acordo e em paz. Seguimos juntos na criação da Zoe e na amizade. Peço perdão ao papai do céu pela separação".