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

O que você precisa saber para ver 'The Good Doctor' na Globo

Freddie Highmore em cena de "The Good Doctor" - Divulgação
Freddie Highmore em cena de 'The Good Doctor' Imagem: Divulgação

Laysa Zanetti

De Splash, em São Paulo

09/06/2022 17h01

A quarta temporada de "The Good Doctor" estreia hoje nas telas da TV Globo, e a série que faz sucesso na TV americana e no Globoplay retorna nesta temporada abordando a pandemia da covid-19. Mas o que é preciso saber dos episódios anteriores antes de acompanhar os novos na TV aberta?

A trama gira em torno do brilhante médico Dr. Shaun Murphy (Freddie Highmore), um jovem cirurgião com autismo e síndrome de savant, que troca uma vida pacata no interior para trabalhar na unidade cirúrgica do hospital San Jose St. Bonaventure, na Califórnia.

Lá, além de usar seus dons da profissão para salvar pacientes, ele precisa lidar com o ceticismo de colegas de trabalho e vencer as dificuldades para criar conexões com aqueles que estão à sua volta.

Distanciamento social

No primeiro episódio da nova temporada, o Dr. Shaun Murphy (Highmore) vive conflitos em seu relacionamento com Lea (Paige Spara). O distanciamento social por conta da covid-19 entra em jogo dificultando a relação, e a rotina do hospital também fica mais complicada diante da nova doença e a chegada de mais residentes.

"Quando você está fazendo uma série de TV, e essa série em específico, ela existe no mundo real", comentou o criador David Shore em entrevista ao site Deadline, quando questionado sobre a extensão da presença da pandemia na história.

"Teremos que tomar algumas decisões nesse sentido, e de certa forma existir dentro dessa realidade. Estamos contando histórias do mundo onde vivemos, e [a covid] é parte do mundo agora. Da mesma forma, não queremos explorar a situação."

'The Good Doctor': relação entre Shaun e Lea é testada na 4ª temporada - Divulgação - Divulgação
'The Good Doctor': relação entre Shaun e Lea é testada na 4ª temporada
Imagem: Divulgação

Mudanças no elenco

O final da terceira temporada apontava para mudanças no elenco, com a triste partida do Dr. Neil Melendez (Nicholas Gonzalez) após um terremoto.

Outra personagem que não deve retornar é a Dra. Carly Lever (Jasika Nicole), que tentou engatar um relacionamento com Shaun durante o ano anterior, que chegou ao fim em razão dos sentimentos do cirurgião por Lea. Desta forma, ela não retorna para os próximos episódios. Mesmo assim, Shore declarou que adoraria ter a atriz de volta em participações esporádicas.

Mas isso não é tudo! No primeiro episódio da 4ª temporada, o Dr. Alex Park (Will Yun Lee) se prepara para se mudar para o Arizona, como já havia mencionado na temporada três que gostaria de fazer. Ou seja, ele até aparece no início da trama, mas é provável que outras surpresas ainda apareçam pelo caminho nos episódios seguintes.

Dr. Shaun Murphy (Freddie Highmore) trata paciente em primeiro episódio da 4ª temporada de 'The Good Doctor' - Divulgação - Divulgação
Dr. Shaun Murphy (Freddie Highmore) trata paciente em primeiro episódio da 4ª temporada de 'The Good Doctor'
Imagem: Divulgação

Romance e desafios

Neste ano, os desafios de Shaun incluem, além da dificuldade de se relacionar com Lea por causa do distanciamento, a chegada de novos residentes, interpretados por Noah Galvin, Summer Brown, Bria Samoné Henderson e Brian Marc. Os residentes serão treinados pelo Dr. Murphy, e isso vai exigir dele todos os esforços para conseguir se relacionar com os novos integrantes.

Os episódios da nova temporada irão ao ar na TV Globo às quintas-feiras, após "No Limite".