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

Celso Portiolli é diagnosticado com câncer na bexiga: 'Otimista'

De Splash, em São Paulo

28/12/2021 10h35Atualizada em 28/12/2021 14h04

Celso Portiolli, 54, anunciou na manhã de hoje que foi diagnosticado com um câncer na bexiga. O apresentador do SBT usou seu perfil no Instagram para contar que irá ar por imunoterapia após já ter retirado um pólipo cancerígeno, encontrado durante um exame de rotina no mês de dezembro.

À frente do "Domingo Legal" e do "Show do Milhão", ele contou também que apresentou programas já após o diagnóstico e que deve seguir com sua rotina normal em meio ao tratamento, com expectativa de quase 100% de chance de cura, segundo os médicos que o atendem em São Paulo.

"Eu tive um câncer de bexiga, que foi encontrado na fase mais precoce possível, o que já é uma notícia boa, uma informação importante. Foi feito um procedimento endoscópico pra remoção desse pólipo e agora eu vou ter que fazer um tratamento dentro da bexiga, uma imunoterapia, chamada BCG. E eu estou otimista e com muita fé, porque a chance de cura é próxima de 100%, isso me deixou bastante aliviado", detalhou Portiolli em um vídeo em seu Instagram.

"Durante o período do meu tratamento eu vou poder ter uma vida absolutamente normal. Vou continuar fazendo academia, animando meus programas de televisão. 'Mas Celso como você vai animar programas de televisão com uma notícia dessas?'. Tá tudo ótimo, eu já sabia e fiz programas ao vivo na televisão e você nem imaginava, então é sinal de que eu estou muito tranquilo e muito otimista", continuou ele, antecipando possíveis questionamentos.

O apresentador ainda destacou que pensou em deixar a notícia para depois das festas de final de ano, mas desistiu da ideia para poder esclarecer a situação para as pessoas que o acompanham, afirmando que até mesmo amigos e familiares não sabiam de seu diagnóstico.

"Eu acho que é a notícia mais importante que eu vou compartilhar com vocês. E eu fiz questão de contar para que vocês saibam os detalhes e saibam somente o que está acontecendo, a verdade. Eu ia deixar pra ano que vem, mas aí pensei: 'pô, vem ano novo aí, eu não vou começar o ano novo com uma notícia dessas", explicou.

No recado, Portiolli agradeceu aos médicos e enfermeiros que o atendem no hospital Albert Einstein, na capital paulista, e à sua família, com destaque para a mulher, Suzana Marchi, sem deixar de tranquilizar mais uma vez os fãs.

"Então é isso, é pra que você fique sabendo por mim. É uma notícia dura de ar? É. Vocês sabem que a minha vida é levar alegria, eu não gostaria nunca de levar uma notícia dessas pra você, mas eu quero te tranquilizar, está tudo tranquilo e vai ficar muito bem", concluiu.