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

Indiretas e unfollows: a treta entre Selena Gomez, Hailey Bieber e Kylie

Entenda a polêmica envolvendo Selena Gomez, Hailey Bieber e Kylie Jenner - Reprodução/Instagram
Entenda a polêmica envolvendo Selena Gomez, Hailey Bieber e Kylie Jenner Imagem: Reprodução/Instagram

De Splash, em São Paulo

28/02/2023 04h00

Os nomes de Selena Gomez, 30, Hailey Bieber, 25, e Kylie Jenner, 25, se tornaram os mais comentados pela imprensa americana na última semana. As três se envolveram em uma polêmica envolvendo indiretas e número de seguidores no Instagram. Entenda:

Selena Gomez se tornou a mulher com mais seguidores no Instagram. Ela superou Kylie Jenner, 25, há cinco dias. Kylie é uma das melhores amigas de Hailey.

Kylie e Hailey supostamente mandaram indiretas para Selena na rede social. A atriz publicou que tinha exagerado ao fazer sobrancelha. Pouco tempo depois, Kylie fez praticamente a mesma publicação. Ela e Hailey ainda mostraram um print de uma chamada que fizeram, onde, coincidentemente, só mostram as sobrancelhas.

Kylie negou que a publicação fosse uma indireta para Selena. "Isso é um exagero. Não mandei indireta pra Selena nunca e eu não vi suas postagens da sobrancelha! Vocês estão criando coisa onde não tem nada. É uma bobagem", escreveu a influenciadora em um comentário no TikTok.

Selena concordou: "Sim! Tudo isso é um exagero. Eu sou fã da Kylie", declarou a cantora.

Selena comentou vídeo antigo de Hailey. Em um vídeo de 2017, Hailey fez cara de nojo ao nomear Taylor Swift com uma das vencedoras em uma premiação. Em meio à polêmica recente, Selena se pronunciou sobre a crítica contra a melhor amiga.

Sinto muito, minha melhor amiga é e continua sendo uma das melhores da parada. Selena Gomez

Kylie favoritou um vídeo com teoria de traição. Uma usuária do TikTok publicou um vídeo em que comentava uma teoria de que Bieber teria ficado com Hailey enquanto namorava Selena. Kylie favoritou a publicação. O like da cantora foi visto como uma confirmação da história.

Hailey e Kylie estão perdendo seguidores. Segundo a ferramenta SocialBlade, a influenciadora já perdeu mais de 650 mil seguidores desde quarta-feira (22). No mesmo período, a modelo já perdeu mais de 460 mil seguidores.

Selena, por outro lado, tem ganhado fãs no Instagram. Desde o último dia 22, a cantora já ganhou cerca de 7 milhões de seguidores.

Selena Gomez é ex de Justin Bieber

Selena e Hayler já foram apontadas como "inimigas" diversas vezes pela imprensa americana. A cantora é ex-namorada de Justin Bieber, 28, com quem ficou por cerca de 6 anos. O cantor está casado com Hailey desde 2019.