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

Só itens de alto investimento: Belle conta como é mudar ao "estilo jogador"

Belle Silva com os filhos Iago e Isago - Reprodução/Instagram
Belle Silva com os filhos Iago e Isago Imagem: Reprodução/Instagram

Beatriz Cesarini

Do UOL, em São Paulo

02/09/2020 04h00

Thiago Silva foi anunciado como novo reforço do Chelsea na última semana e, após oito anos morando em Paris, a família Silva está a caminho da Inglaterra. Esposa do zagueiro, Belle contou ao UOL Esporte como será a mudança ao estilo "vida de jogador" para o novo país: com desapegos e esforço para levar itens de alto investimento.

"Durante esse tempo que amos na França, eu adquiri algumas coisas. Mas vida de jogador é assim... A gente adquire, mas sempre pensando que podemos deixar para trás. Então, fazemos o mínimo investimento possível. Claro que tem coisas que o investimento é maior e aí a gente leva para onde for", explicou Belle.

A casa em que a família Silva mora em Paris já tinha alguns móveis, mas outros que foram comprados por eles deverão decorar o lar londrino também. De acordo com Belle, essa mobília combinaria com qualquer outro estilo de residência por serem atemporais.

"Tenho poucas coisas minhas aqui nessa casa em Paris. Como ainda não tenho noção de como será a residência em Londres, acho que o mais difícil é saber se vou conseguir colocar as minhas coisas lá ou se vou já encontrar uma casa mobiliada ou semi mobiliada, como é daqui. O que eu tenho de grande e mais difícil são minha mesa de jantar e a de centro da sala, porque é mármore puro, então, elas são bem pesadas. Mas paciência, nada que uns 30 homens não resolvam (risos)", brincou Belle.

Mesmo vivendo há um bom tempo na França, a influencer não teme a mudança para um novo país. Thiago e Belle estão juntos há 16 anos e enfrentaram as mudanças de cidade ou país desde novinhos.

"Eu me mudo desde os 17 anos de idade, que foi a primeira vez que sai do Brasil e fui para a Rússia e não parei mais. Me imaginava, sim, fazendo essa mudança. Não era uma coisa que pensava sempre, mas nunca descartei, porque a vida de jogador é isso. Não pode achar que tudo vai ser sempre igual e acho que isso é legal. Então, independentemente da idade do Thiago [35 anos], eu nunca descartei uma possível mudança e está sendo muito bom... Novos ares, aquela empolgação, mudança é sempre muito bom. Estamos muito animados", disse Belle, que também declarou seu amor pela França.

"Paris sempre vai fazer falta, porque é uma cidade linda. Hoje já faço parte da cultura. Depois que você aprende a lidar e conhece bem, vê que as pessoas de lá não são essa casca grossa que todo mundo fala. Então, Paris sempre me fará falta, é minha segunda casa. Eu sou franco-brasileira. Mas estarei a duas horas de trem - por causa da diferença de horário -, então posso ar finais de semana... Paris não vai se livrar de mim assim tão fácil", acrescentou.

Belle está curtindo as férias com o marido Thiago e os filhos Isago e Iago. Depois desse período de descanso, o casal a família partirá para a Inglaterra em busca do novo lar. "A mudança vai ser feita com calma. A gente não tem necessidade de fazer nada com pressa ou correndo. A minha preocupação era a escola das crianças, mas graças a Deus tudo já está resolvido".

"Agora, eu vou curtir os dias de descanso merecidos que meu marido recebeu e vamos esquecer de tudo: problemas, mudanças... Vamos curtir família, amigos num lugar que gostamos", concluiu.