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

Denise Tremura

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Ela descobriu que acompanhante de luxo usava o seu nome... e ficaram amigas

Amanda Audi: a coincidência de nomes que fez a web retomar a fé nas pessoas - Reprodução
Amanda Audi: a coincidência de nomes que fez a web retomar a fé nas pessoas Imagem: Reprodução

18/04/2021 15h28

Um tuíte que mostra a atitude gentil diante de uma situação inusitada inundou a internet de positividade. Tudo começou com a coincidência de nomes entre a jornalista Amanda Audi e acompanhante de luxo Amanda Audi.

E você não leu errado! As duas usam o mesmo sobrenome.

A jornalista conta à coluna que descobriu a existência de sua homônima após receber de um amigo o link com a página da acompanhante. Achou curioso e decidiu enviar uma mensagem de WhatsApp para ela.

Amanda 1 perguntou para a Amanda 2 se ela se chamava mesmo assim. A resposta foi de que nenhuma mulher do site usava o próprio nome.

"Eu já imaginava isso, porque o site tinha outras mulheres com nomes como Ferrari, Volks etc, mas ainda assim achei que seria divertido conversar com ela", lembra a jornalista.

"Quando disse que meu nome era Amanda Audi também, ela respondeu bem fofa. Ela disse que tinha pesquisado bastante e que achava Amanda bonito. Ela pediu desculpas. Imagino que ela pensou que eu ficaria brava ou coisa assim. Mas isso nem me ou pela cabeça", acrescenta.

As reações ao tuíte de Amanda foram muito fofas, assim como sua atitude

Parece que resgatou algo nas pessoas

E melhorou o dia delas

A jornalista Amanda Audi conta ainda que tenta lidar com as coisas de um jeito leve, mesmo que não seja possível sempre. Nesse caso, ela se esforçou para demonstrar que não tinha problema nenhum. "Espero que ela tenha ficado feliz com a minha reação, porque eu fiquei bastante com a nossa interação", afirmou.

Para ela, o tuíte seria um caso curioso e divertido, mas não imaginava que geraria o tipo de reação que gerou, com pessoas dizendo que ler a conversa melhorou o dia delas.

"A gente está acostumada a ver gente tretando no Twitter. Só depois que fui entender porque esse tipo de contato, tão simples, acabou gerando uma reação tão positiva" concluiu.

É isso!