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

Pedro, do Flamengo, pede namorada em casamento na hora da convocação

De Universa, em São Paulo

07/11/2022 14h50

Pedro, atacante do Flamengo, foi convocado pelo técnico Tite para a sua primeira Copa do Mundo e irá representar o Brasil durante a Copa do Catar, que começa no dia 20 de novembro. Na expectativa de ser um dos 26 jogadores escolhidos pela comissão, ele se preparou para mais uma surpresa: pedir a namorada em casamento.

O momento especial aconteceu ao vivo, durante a transmissão da Fla TV, canal do Flamengo no Youtube. Ele ajoelhou e abriu uma caixa de anel para a psicóloga Fernanda Nogueira, logo após ouvir seu nome. "Esse dia foi separado por Deus e tenho certeza que Ele tocou no coração do Pedro para torná-lo ainda mais especial. Eu nem sei o que falar. Não esperava", disse Fernanda durante a transmissão.

Pedro explicou que a escolha foi justamente essa: deixar o dia ainda mais especial e marcado na história do casal. "Ela me ajuda bastante a me tornar um homem de Deus, a ser um grande profissional em campo. Acho que é um dia para ser lembrado pra sempre", disse o atacante.

O jogador e a psicóloga infantil estão juntos desde setembro de 2021, há pouco mais de um ano, A primeira vez que viajaram juntos foi em dezembro, durante as férias do jogador. O destino escolhido foi Fernando de Noronha.

Discreto, Pedro não expõe muito seu relacionamento nas redes sociais. Fernanda, por sua vez, não posta nada sobre seu namorado. Mantém seu perfil focado em suas atividades profissionais. Ainda assim, o jogador já dividiu algumas declarações em seu perfil.

"Sou muito grato a Deus por ter você do meu lado e creio que Ele tem um plano maravilhoso para nós. Obrigado por me tornar uma pessoa muito mais feliz e por me fazer crescer em todas as áreas da minha vida (...) Tenho muito orgulho de você. Te amo muito", publicou no dia do aniversário de Fernanda.

Universa tentou contato com Fernanda, mas até o fechamento desta reportagem não obteve retorno.