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

Ex-Big Brother aceita desafio de dança de aérea e 'sobe' de classe no avião

Funcionários da Delta Airlines desafiaram ageiros a mostrar seu suingue por um assento melhor em avião - Getty Images/Delta Airlines Boeing 767
Funcionários da Delta Airlines desafiaram ageiros a mostrar seu suingue por um assento melhor em avião Imagem: Getty Images/Delta Airlines Boeing 767

De Nossa

27/10/2022 17h44

A influenciadora Britini D'Angelo, ex-participante do Big Brother dos EUA exibido em 2021, viralizou após conquistar um upgrade de classe em um voo de maneira inusitada: a jovem topou um desafio de dança proposto pelos funcionários da Delta Airlines em um aeroporto do estado da Geórgia.

Em um vídeo que fez sucesso tanto no TikTok (onde ela recebeu 1,8 milhão de visualizações e 252,5 mil curtidas) quanto em seu perfil no Twitter, ela aparece requebrando com movimentos complexos e mostrando todo o seu suingue em frente ao portão de embarque.

Ao fundo, é possível ver o time no balcão pulando e dançando com ela, animados com sua performance. Na legenda, ela avisa que foi a vencedora da disputa e ganhou um assento Comfort Plus.

Segundo o site da Delta, esta classe de suas aeronaves oferece três polegadas extras de espaço para as pernas, o equivalente a 7,62 centímetros, compartimento especial sobre a cabeça para seus pertences, amenidades como cobertor, travesseiro, fones de ouvido e nécessaire com produtos de higiene pessoal, além de embarque expresso.

Nos comentários do perfil de Britini no TikTok, a companhia palpitou que ela realmente mereceu o presente, além de ter comemorado seus os no Twitter. "É isso aí, garota". Ela se divertiu e disse que "faz tudo por um upgrade".

Britini ainda recebeu os aplausos de grandes empresas como a gigante de beleza Revlon e a companhia de cruzeiros Carnival. Professora e faixa preta de caratê, ela fala abertamente sobre ter crescido autista, já que foi diagnosticada aos 22 meses de idade.

"A dança e o caratê me abriram oportunidades para socializar e me ajustar em ambientes diferentes. Eu tinha só cinco anos quando meus pais me matricularam em aulas de dança e, agora, eu já dancei 12 estilos diferentes em um período de mais de 20 anos", comemorou ao site Art of Autism.