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

Juliana Borges

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Casal oposto: quando uma é Kardashian e o outro é a discrição em pessoa

Prostock-Studio/Getty Images/iStockphoto
Imagem: Prostock-Studio/Getty Images/iStockphoto

Colunista de Universa

27/06/2022 04h00

Esse não é um texto reclamação. Esse é um texto explanativo, expositivo de uma realidade. Esse texto é como um BBB literário. Ou quase literário. E que começa com a pergunta: quem é você nesse relacionamento?

Dizem por aí que casais são como "yin-yang". Pelo dicionário, porque meu conhecimento sobre cultura chinesa é um tanto superficial, essa seria uma filosofia do "par de forças". Ou seja, de princípios que movem e sustentam o universo, que são complementares e antagônicos, que oscilam e se expressam em toda a existência do humano. Isso para dizer que nosso casal, eu e Anderson, funcionamos, em algumas coisas, como esses opostos complementares.

A gente combina em muita coisa, mas em outras somos um tanto opostos. Por exemplo, a expansividade. Eu nunca fui uma pessoa muito encolhida. Eu me expando nos lugares e com pessoas. Eu gosto de interatividade, de troca e somas constantes. Eu falo muito. Mas, muito mesmo, gente. Às vezes, canso de mim mesma.

Obviamente que, como boa pisciana, eu também tenho meu outro lado absurdamente reservado. Alguns amigos lerão isso aqui e vão rir: "você reservada?". Mas isso se deve ao fato de que, muitos deles, mesmo os de ciclo um tanto íntimo, demoram a ter o ao meu eu por inteiro. E o meu transtorno de ansiedade ainda vem como um upgrade nessa montanha-russa de personalidade e humor que sou. Parece que tudo para mim é sobre pares.

Mas, o importante de dizer aqui é que, no nosso casal, assim como na minha livraria, eu sou o par da expansão. Eu sou a relações-públicas do casal. Para mim que as pessoas perguntam como estão os preparativos e se empolgam, porque eu disparo a falar sobre tudo, sobre as belezuras e, também, sobre os estresses disso tudo. Eu poderia ser lida como a Kardashian desse relacionamento.

Já Anderson é o oposto complementar disso tudo. Ele é super discreto, a reserva é o seu sobrenome. Minha lista para o casamento é o triplo da lista dele. E, quando falei de transformar os preparativos do casamento em uma coluna em site, ele ficou um pouco apreensivo.

Eu poderia dizer que o noivo se encaixa em algum escritor romântico do século XIX, fosse ele escritor. Como músico, a gente poderia enquadrá-lo em alguma personalidade musical que adora compor, pensar melodias e que até gosta das apresentações, mas tudo muito profissional, muito focado no trabalho e na música em si.

Enquanto o noivo é praticamente um Harry Styles nas redes sociais, que só posta coisas de shows e deixa os tabloides falarem sobre sua vida sem que nada seja confirmado; essa que vos fala, a noiva, é como uma Kardashian que poderia andar o tempo inteiro com uma equipe filmando cada o.

E como a gente equilibra tudo isso? Em geral, avaliamos juntos o que pode ser aberto ou não. Eu tenho essa preocupação. Até hoje, não houve algo que o tenha incomodado a ponto de causar algum estresse entre nós. A gente tem códigos internos, aqueles olhares que dizem muito e que já são o sinal se eu estou atravessando a linha do que ele não se importa que seja compartilhado.

Acredito que esses combinados significam respeito com a individualidade e a personalidade diferente do seu "conge". E acaba, inclusive, por fortalecer os laços para uma relação mais saudável, em que limites não sejam ultraados e o respeito sempre prevaleça. Tá certo que nem tudo sempre dá certo. Mas, tá funcionando bem.

Entre um casamento-festival e um casamento-civil com bolinho, a gente tá no meio do caminho. E, assim, vamos construindo o nosso felizes para sempre...