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

Três lutas contra câncer e desistência de reality: a vida de Nightbirde

Jane Marczewski, a Nightbirde, venceu câncer duas vezes antes de desistir de reality pela doença - Instagram
Jane Marczewski, a Nightbirde, venceu câncer duas vezes antes de desistir de reality pela doença Imagem: Instagram

Daniel Palomares

De Splash, em São Paulo

22/02/2022 04h00

A cantora americana Jane Marczewski, conhecida profissionalmente como Nightbirde, morreu nesta semana, após anos de luta contra um câncer de mama.

Ela se tornou famosa por participar da 16ª temporada do "America's Got Talent", no ano ado, mas precisou interromper sua trajetória no reality pelo avanço da doença, que conseguiu vencer outras duas vezes.

Carreira antes da TV

Jane compunha desde os 6 anos de idade e começou a se apresentar para o público em 2011, quando ainda estava na faculdade. No ano seguinte, lançou seu primeiro EP, "Lines", e, em 2013, mais um trabalho, "Ocean & Sky", desta vez conquistado por um financiamento coletivo.

Depois de voltar para seu estado natal, Ohio, Jane se casou em 2014 e se mudou para Nashville, berço da música country, em 2015.

Por que Nightbirde?

A escolha de seu nome artístico, Nightbirde (pássaro da noite, em tradução livre), foi baseada em um sonho que Jane costumava ter frequentemente.

"Parecia muito poético que esses pássaros cantassem como se fosse de manhã, mesmo que não tivesse sinal algum de luz, e era isso que queria representar", disse em entrevista ao The Story Watch.

uyjuyuy - Reprodução/Instagram - Reprodução/Instagram
Jane 'Nightbirde' Marczewski
Imagem: Reprodução/Instagram

Câncer

Jane foi diagnostica originalmente com câncer de mama em 2017, mas se viu livre da doença em 2018. No ano seguinte, o câncer retornou e os médicos informaram que ela teria somente de três a seis meses de vida, porém, Jane se curou novamente em 2020. No mesmo ano, ela se separou do marido.

Antes de sua audição no "America's Got Talent" do ano ado, Jane recebeu a notícia de que enfrentava uma metástase, ou seja, seu câncer já havia se espalhado para os pulmões, fígado e outros órgãos. Os médicos declararam que ela tinha somente 2% de chance de sobreviver.

A música cantada no programa se tornou uma das mais vendidas da semana nos EUA e o vídeo de sua audição viralizou. Com a piora da doença, porém, mesmo tendo avançado para as etapas finais da competição, Jane preferiu desistir do reality. Ela teve sua decisão apoiada por Simon Cowell, um dos jurados da atração.

Você não pode esperar até que sua vida não seja mais difícil para escolher ser feliz.

festejou a cantora em sua audição viral no programa