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

Marquezine comenta amizade com Anitta: 'A gente nunca brigou'

Anitta e Bruna Marquezine  - Reprodução/Instagram.
Anitta e Bruna Marquezine Imagem: Reprodução/Instagram.

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

24/03/2022 19h47Atualizada em 24/03/2022 20h06

A amizade de Bruna Marquezine e Anitta, que viralizou durante a semana de moda de Paris, também surpreendeu a atriz.

No podcast 'Poddelas', a atriz contou como essa amizade surgiu. "Foi uma conexão bem rápida", disse ela. Segundo Bruna, a viagem para a capital sa realmente as aproximou. "Ela disse: 'A gente estava pronta para ser amiga. Essa foi a hora certa. Você é minha amizade de milhões'", revelou Bruna. Ela disse que a aproximação aconteceu por um amigo em comum. "Independente se a gente estava se falando ou não, de ter uma amizade ou não, de ter alguma coisa mal resolvida ou não, eu sempre consegui separar isso da minha iração e de gostar das músicas dela, de dançar as músicas dela. E eu já estava sentindo há um tempo uma vontadezinha de, se eu encontrasse um dia, dizer: 'Ei, tá tudo bem, tá? Não existe nada'", disse a atriz.

Bruna também esclareceu sobre rumores de briga entre as duas no ado: "O que existiu um dia é uma coisa tão boba e tão pequena e relacionada a um relacionamento que nem existe mais. Por causa de homem? Ah, pelo amor de Deus. Tem condição de, em 2022, eu não falar com uma mulher que eu iro, que eu acho f*da, porque existe um desconforto? A gente nunca brigou, eu e ela. Rolou uma questão, um desconforto. E aí eu fiquei chateada, viram que eu fiquei magoada. Mas não tem mais argumento para sustentar isso", disse a atriz. Ela contou que, no Ensaio de Anitta no Rio, Bruna foi com uma amiga e, ao encontrá-la, a cantora disse: "Eu não te odeio, tá?". "Eu falei: 'Obrigada, eu também não te odeio', e aí foi isso. Nessa noite a gente estendeu a noite, se divertiu bastante", contou a musa.

A atriz revelou um pouco dos bastidores da proximidade entre as duas durante a semana de moda. "Um dia a gente estava um pouco animadinhas - se é que me entendem - e ela falou: 'Só não é melhor do que minha amizade com a GKay'. E eu respondi: 'Está tudo bem, não quero nem entrar nesse território'. Eu adoro a GKay", disse Bruna. A atriz ainda abriu o coração: "Fiquei chocada vendo ela de perto na semana de moda. Eu tinha vontade de pegar ela no colo às vezes, porque é muito. E ela é incrível. Ela é uma companhia incrível, demos boas risadas", derreteu-se a atriz.

Marquezine também contou à cantora antes de ser autorizada sobre o papel em 'Besouro Azul'. "Ela perguntou: 'Você vai no Coachella, né?', e eu disse: 'Não vou poder, vou estar sendo honrada'. E é engraçado que na mensagem dela, ela disse: 'Veio aí'".