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

Garota do Momento: Resumo dos capítulos da novela da Globo (23 a 31/5)

Clarice (Carol Castro) e Juliano (Fábio Assunção) em "Garota do Momento" - Reprodução/Globo
Clarice (Carol Castro) e Juliano (Fábio Assunção) em 'Garota do Momento' Imagem: Reprodução/Globo

De Splash, em São Paulo

22/05/2025 17h38

Quer ficar por dentro de tudo o que rola no mundo das novelas? Clique aqui e faça parte do nosso canal no WhatsApp

Sexta-feira, 23 de maio

Bia a mal. Ernesto anuncia à família Alencar que o estado de Bia é grave, e ela precisará de cirurgia. Maristela, Juliano e Clarice se desesperam. Alfonso e Teresa declaram sua paixão. Jacira pede que Eugênia fique alerta a Talía. Zélia confessa a Orlando que não é irmã de Clarice. Bia diz a Beto que tem medo de não resistir. Arlete repreende as atitudes de Zélia para se vingar dos Alencar. Teresa assume seu namoro com Alfonso. Talía assedia Sérgio. Topete decide começar a trabalhar. Clarice e Juliano sofrem com o início da operação de Bia.

Sábado, 24 de maio

Todos se preocupam com Bia. Talía diz a Jacira que voltará para o México. Topete enfrenta Orlando e rejeita o flerte de uma menina. Maristela se irrita com o sucesso de Basílio. Juliano tenta mais uma vez se reaproximar de Clarice. Celeste descobre que Edu tem dois empregos. Basílio entrega o dossiê contra os Alencar para Zélia. Eugênia e Jacira salvam Teresa da armadilha de Talía. Raimundo oferece um apartamento a Edu e Celeste. Todos sofrem com a falta de notícias de Bia. Talía é presa. Laurentino chega para anunciar o fim da cirurgia de Bia.

Segunda-feira, 26 de maio

Laurentino anuncia que a cirurgia de Bia foi um sucesso. Basílio ameaça Maristela. Iolanda expulsa Topete da pensão. Vera e Lígia ajudam Celeste e Edu a arrumar a nova casa. O delegado alerta Clarice e Amália sobre as denúncias de Juliano. Teresa, Eugênia e Jacira confortam Alfonso. Basílio autoriza Zélia a liberar para a imprensa uma nova parte do dossiê contra os Alencar. Anita questiona quando Nelson deixará sua casa. Sebastião tem um acidente. Onofre faz uma proposta de trabalho a Basílio. Maristela ofende Beatriz.

Terça-feira, 27 de maio

Maristela se revolta contra Clarice. Laurentino diz que Bia acordou e está chamando pela mãe. Clarice afirma a Bia que jamais deixará de ser sua mãe. Sebastião pede que Ulisses não conte sobre seu acidente para Vera. Juliano e Maristela contam uma nova versão da morte de Valéria para Bia. Bia pede para ver Ronaldo. Alfredo é sequestrado por Mirtes. Maristela teme que Basílio destrua a Perfumaria Carioca. Anita, Teresa, Jacira e Sérgio se preocupam com a falta de notícias sobre Alfredo. Arlete visita Bia no hospital. Maristela e Juliano pensam em como incriminar Clarice.

Quarta-feira, 28 de maio

Maristela pensa em procurar Geraldo para incriminar Clarice. Bia pergunta de Valéria para Arlete. Anita chora durante o programa de TV. Basílio faz sucesso na campanha de Onofre. Amália anuncia que o documento original de Clarice foi reconhecido. Bia desabafa com Ronaldo. Sérgio faz um boletim de ocorrência sobre o desaparecimento de Alfredo. Mirtes tortura Alfredo. Zélia explica para Mônica seu plano de como conquistar a presidência da Perfumaria. Sebastião confidencia a Ulisses que pode estar doente. Maristela faz uma proposta a Geraldo.

Quinta-feira, 29 de maio

Maristela propõe que Geraldo deponha a seu favor em troca de dinheiro. Marlene e Glorinha comemoram o sucesso de seu creme. Raimundo apoia Sebastião. Clarice garante a Bia que jamais a abandonará. Basílio revela a Beto e Beatriz que o colar de joias estava com Maristela. Beto confronta Bia sobre o roubo do colar. Anita e a família de Alfredo alertam os fãs sobre o sumiço do artista. Alfredo decide cooperar com Mirtes. Celeste sofre com seu casamento. Na delegacia, Geraldo afirma que foi Clarice quem matou Valéria.

Sexta-feira, 30 de maio

O delegado dispensa Geraldo. Raimundo anuncia um concurso de contos, e Beto tem uma ideia. Edu e Celeste sofrem com o casamento em crise. Juliano pede que o gerente de seu banco deponha contra Clarice. Maristela e Basílio fazem um novo acordo. Beto sugere que Celeste participe do concurso de contos promovido pelo cliente de Raimundo. Clarice é intimada a ir à delegacia. Jacira sente o cheiro de Alfredo em Mirtes. Vera ouve quando Ulisses fala com Sebastião sobre sua possível doença. Clarice é presa por falsidade ideológica.

Sábado, 31 de maio

Clarice é levada pelo delegado. Vera apoia Sebastião. Basílio retorna para a Perfumaria Carioca, e é cercado por fãs. Bia tem alta do hospital. Ronaldo avisa a Bia que Clarice foi presa. Jacira, Anita, Sérgio, Topete e Eugênia decidem seu plano contra Mirtes. Eugênia agradece Topete por ter salvado seu pai. Em um telefonema misterioso, Nelson confessa que está cansado de fingir que se regenerou. Gregório visita Clarice na delegacia. Zélia pede perdão a Bia por suas mentiras. Sebastião se prepara para sua cirurgia. Bia e Zélia garantem a Clarice que ela deixará a prisão. Maristela provoca um acidente contra Geraldo.