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

Carol Junger, noiva de Zé de Abreu: 'Me chamam de primeira-dama, acho fofo'

Lucas Pasin

De Splash, no Rio

22/11/2021 04h00

Carol Junger, maquiadora de Niterói, Rio de Janeiro, precisou se acostumar com os holofotes e comentários negativos nos últimos anos. Ela vive um relacionamento com o ator José de Abreu, conhecido por não ter papas na língua e receber muitas críticas por seus posicionamentos políticos — especialmente contra o atual governo de Jair Bolsonaro (sem partido). Ao engatar o romance, o casal lidou com "haters" que falaram também sobre a diferença de idade, já que o intérprete de Santiago de "Um Lugar ao Sol" (Globo) tem 75 anos, e a amada, 24.

Em conversa com Splash durante o lançamento da "Abreugrafia", uma autobiografia escrita por José de Abreu, a maquiadora falou sobre o relacionamento que já dura dois anos e meio e recordou a época em que sua vida amorosa se tornou notícia.

"Sofri bastante no início. Tive muita crise de ansiedade. Faziam críticas em qualquer foto que eu postava nas redes sociais. Hoje acredito estar lidando melhor com isso. Existe um ódio gratuito na internet, mas ele não é direcionado para mim. Eu e o Zé estamos numa ótima fase e não deixamos nada negativo afetar", explicou.

"Eu era uma pessoa completamente anônima e tive que lidar com um furacão. No início foi um pouco difícil, e por isso tentei me preservar para não sofrer. De qualquer forma, estou sempre exposta e tento me manter bem com isso", disse Carol, que deixou de trabalhar como maquiadora para acompanhar José de Abreu em viagens e trabalhos.

Carol Jungue e José de Abreu namoram há dois anos e meio e já moram juntos - Reprodução/Instagram - Reprodução/Instagram
Carol Jungue e José de Abreu namoram há dois anos e meio e já moram juntos
Imagem: Reprodução/Instagram

O casal, no entanto, não vive apenas de críticas. José de Abreu, que já chegou a se autoproclamar "Presidente do Brasil", tem uma série de apoiadores, muitos deles do Partido dos Trabalhadores (PT), ao qual é filiado. Com o ator "presidente", o apelido de Carol Junger não poderia ser outro.

Brincam muito me chamando de primeira-dama do Brasil. Acho divertido e, ao mesmo tempo, muito fofo. É carinhoso. Gosto de ser chamada assim.

Pronta para a corrida eleitoral

No lançamento do livro no Rio, José de Abreu recebeu muitos apoiadores políticos e até um "Lula fake". O clima de "campanha política" acontece porque o ator pretende se candidatar ao cargo de deputado federal em 2022.

Carol está animada com a corrida eleitoral, mas assume que teve muito medo no início.

Quando soube da história do Zé sair candidato fiquei preocupada. A questão da segurança dele me deixa com medo. Mas sei que ele tem um coração muito bom e só quer ajudar outras pessoas.

De mudança para Portugal no dia 26 de novembro, Carol já imagina o retorno ao Brasil. "Ano que vem voltaremos ao país para fazer campanha".

Planos de casamento

José de Abreu, em entrevista a Splash, deixou escapar que está planejando oficializar a união com a namorada. Carol não gostou do ator contar a novidade publicamente e deu uma bronca: "Abre a boca demais".

Ela, no entanto, deu detalhes sobre o casório. "Pretendemos sim casar. Falamos disso. Mas não esperem festão ou algo grandioso, vamos fazer uma cerimônia mais discreta. Algo com poucos convidados, ou talvez apenas eu e ele. Será discreto. Temos falado sobre isso".