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

Aline Campos se emociona ao falar de transição capilar: 'Me libertando'

Aline Campos (ex-Riscado) fala sobre transição capilar e se emociona - Reprodução/Instagram
Aline Campos (ex-Riscado) fala sobre transição capilar e se emociona Imagem: Reprodução/Instagram

Colaboração para Splash, em São Paulo

03/11/2021 20h24Atualizada em 03/11/2021 20h25

Aline Campos (antes conhecida pelo sobrenome Riscado) se emocionou ao falar de sua transição capilar. Ela começou recentemente a deixar de usar produtos para alisar as madeixas e tem compartilhado o resultado com os fãs nas redes sociais.

"Hoje eu não fiz absolutamente nada de chapinha, escova, baby liss, nada! Lavei meu cabelo e deixei secar naturalmente. Fiz trança e deixei meio descabeladinho. Está sendo tão importante para mim esse momento de transição, essa aceitação, essa conexão comigo mesma. Estou me libertando de padrões que me aprisionavam e me limitavam que me faziam acreditar que minha beleza natural não me fazia digna de sair na rua e ser paquerada. Lembro que eu, adolescente, chorava quando minha mãe não tinha dinheiro para fazer escova no meu cabelo para eu ir para matinê", disse ela no primeiro da sequência de vídeos postados no Stories.

Hoje posso sair com orgulho do meu cabelo, sem ligar se ele não estiver escovado ou com baby liss. Ele está no momento de maior felicidade dele, de libertação. Estou me achando linda, poderosa, empoderada e ligando fod*-se se alguém achar o contrário disso. Não quero que ninguém ache nada. Eu tenho que achar. E quero que a pessoa que se aproxime de mim, em qualquer sentido, com qualquer intenção, veja algo muito além de qualquer coisa que os olhos veem em mim.

Aline prosseguiu: "Eu, que durante muitos anos com meus cabelos compridos e 'lisos' fui um padrão de beleza para muitas mulheres, estou me libertando de qualquer caixa. Não existe isso. Hoje em dia eu o na rua e só miro nos cabelos enrolados. Falo 'Meu Deus, como alisei o cabelo por tanto tempo? Eu amo cabelo enrolado e crespo. Me aguardem daqui a três anos, quando meu cabelinho enrolado estiver na bunda, aquele jubão. Enquanto isso, a gente está naquele processo de transição, que também já estou amando".

Na legenda da postagem, Aline detalhou o processo de transição dos fios e como tem se sentido com a mudança. "Eu lembro do sentimento de não aceitar meu cabelo! Tudo por uma imposição de padrão imposto por uma sociedade ignorante e limitada! Mas despertamos para o nosso poder de ser quem realmente somos".

Parece bobo, mas eu aliso meu cabelo desde os 15/16 anos, e hoje me sinto muito feliz por aceitar e amar com todo o meu coração meus cabelos do jeitinho que eles nascem! Me aceito por completo. Eu sinto a felicidade dos meus fios por finalmente serem aceitos por mim. Como isso é libertador!

A atriz e modelo de 34 anos ainda acrescentou: "Não cairei mais na armadilha de uma programação mental que tenta roubar minha autoestima para me desconectar do meu poder pessoal. Não entrarei mais numa caixa, até porque sou gigante e não existe caixa pra mulher que me tornei e venho me tornando a cada dia!".

No entanto, disse que continuará usando chapinha quando sentir a necessidade. "O cabelo liso me fez feliz por muito tempo! E eu continuarei fazendo chapinha às vezes, principalmente nesse processo de transição", finalizou.