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

Elisa Annenberg relembra ataques por sotaque: 'Sei o que fiz'

Colaboração para Splash, no Rio de Janeiro

01/08/2023 07h38

Elisa Annenberg, 20, filha de Sandra Annenberg e Ernesto Paglia, em entrevista à Quem:

Recentemente, ela foi alvo de ataques de usuários da internet, que criticaram seu sotaque. Elisa ficou surpreendida com a proporção que o vídeo sobre o sotaque paulistano viralizou nas redes. "O vídeo do sotaque foi uma loucura. Eu tinha tirado o vídeo do ar porque não amei. No dia seguinte, estou vivendo minha vida em paz, minha amiga me manda um link. O irmão dela tinha mandado. Tomou uma proporção que chegou em grupos no WhatsApp de pais dos meus amigos. Era uma quinta-feira de manhã e eu na escola."

Ela resolveu não comentar nada sobre isso porque não tinha o que falar, pois era um vídeo com conteúdo suave. "Fiz um vídeo, em que não estava ofendendo ninguém, estava falando da minha identidade, do meu jeito de falar... Era um video com um tom leve e de humor. As pessoas entenderam tudo errado", desabafa Elisa, madura para saber encarar esse lado negativo.

Segundo Elisa, ela não retrucou pois aprendeu isso com a sua mãe, a quem ela classifica como a rainha da elegância e da gentileza. "Sei muito bem o que eu posto. Deito a minha cabeça no travesseiro de noite e tenho paz de espírito. Sei o que fiz, as decisões que tomei, o jeito que tratei as pessoas. Aprendi com a rainha da gentileza e da elegância, minha mãe, a ser sempre muito gentil e muito educada. Mas às vezes dá vontade de falar: 'Que chato, gente, para de falar isso'", pontua.

Após esse episódio, Elisa decidiu falar sobre sua orientação sexual via redes sociais. Ao lado dos pais, ela esteve na Parada LGBTQIA+, realizada no dia 11 de junho em São Paulo. "É importante a gente se posicionar em questões necessárias. As pessoas se identificam. Talvez as pessoas ainda não saibam sobre o assunto, mas vão pesquisar após me ouvir falando de algo, aprender mais. Não adianta ter visibilidade e não querer promover temas de igualdade e respeito", analisou.

Elisa Annenberg com a mãe Sandra Annenberg - Reprodução/Instagram  - Reprodução/Instagram
Elisa Annenberg com a mãe Sandra Annenberg
Imagem: Reprodução/Instagram