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

Sexy e divertida, 'Bridgerton' é a série de época que precisávamos

Phoebe Dynevor e Regé-Jean Page são os protagonistas apaixonados de 'Bridgerton'
Phoebe Dynevor e Regé-Jean Page são os protagonistas apaixonados de 'Bridgerton'
LIAM DANIEL/NETFLIX

De Splash, em São Paulo

22/12/2020 05h01

A Netflix deixou para o Natal uma de suas maiores apostas do ano: "Bridgerton", uma história de romances e intrigas que se a na alta sociedade londrina do século 19.

E a espera valeu a pena: divertida e sexy, "Bridgerton" é a série de época que a gente precisava.

Continua depois da publicidade

Adaptação de grife

A produção tem origem no papel: ela é adaptada da bem-sucedida série de livros homônima, escrita por Julia Quinn.

E por trás dela está um dos maiores nomes de Hollywood: Shonda Rhimes, criadora de "Grey's Anatomy" e outros sucessos.

"Bridgerton" é a primeira série do acordo multimilionário entre Shonda e a Netflix. Seu pupilo Chris Van Dusen ("Scandal") ficou encarregado de conduzir a nova atração, no posto de showrunner.

Getty Images - Getty Images
A poderosa produtora Shonda Rhimes
Imagem: Getty Images

O resultado da mistura é certeiro: "Bridgerton" é uma série de época que consegue ser tão viciante quanto os trabalhos anteriores dos dois e encantar com seus personagens carismáticos e com detalhes impressionantes de figurino e ambientação.

E não é exagero...

Dá para ver em cada cena que o orçamento da série foi muito bem gasto em uma direção de arte de alto nível e figurinos que literalmente brilham em cena.

(Isso sem falar dos direitos de músicas como "Thank U, Next", de Ariana Grande, que foram regravadas como melodias instrumentais.)

Continua depois da publicidade
LIAM DANIEL/NETFLIX - LIAM DANIEL/NETFLIX
A família Bridgerton
Imagem: LIAM DANIEL/NETFLIX

A história

Os oito episódios são baseados em "O Duque e Eu", o primeiro livro de "Os Bridgertons". O foco está em Daphne Bridgerton (Phoebe Dynevor). Quarta filha (e garota mais velha) de uma família de oito, ela está fazendo sua estreia na alta sociedade e atrai a atenção de vários pretendentes.

Quem também chama a atenção na temporada social é Simon, o Duque de Hastings (Regé-Jean Page), um charmoso solteiro convicto, recém-chegado a Londres.

Ele e Daphne resolvem fingir um relacionamento, para benefício mútuo —mas as coisas não saem exatamente como planejado.

Netflix - Netflix
Lady Danbury (Adjoa Andoh) e Simon (Regé-Jean Page) em cena de Bridgerton, da Netflix
Imagem: Netflix

Esse par improvável é um clichê da literatura, mas funciona muito bem na série: Daphne e Simon têm ótima química em cena, inclusive em momentos quentes que você não vê, nem de longe, nos livros de Jane Austen ou das irmãs Bronte.

Continua depois da publicidade

A forma como a série trata as cenas sensuais, aliás, é um grande acerto. A câmera privilegia as descobertas de Daphne e seu olhar sobre Simon. É ele quem mais vemos sem roupa, em uma mudança bem-vinda do que costuma (costumava?) ser prática na TV e no cinema.

Mas não é só isso: à medida que o romance de Daphne e Simon avança, é quase impossível parar de assistir à série, com seus diálogos afiados e uma boa reedição do velho conflito entre amor e dever.

LIAM DANIEL/NETFLIX - LIAM DANIEL/NETFLIX
Imagem: LIAM DANIEL/NETFLIX

Coadjuvantes para ficar de olho

A trama acaba escorregando um pouco quando tira o foco do casal principal, já que não consegue encontrar um equilíbrio para tratar seus muitos personagens com igual atenção.

Mas ajuda que eles sejam muito carismáticos, principalmente Eloise Bridgerton (Claudia Jessie) e Penelope Featherington (Nicola Coughlan).

Continua depois da publicidade
Eloise Bridgerton (Claudia Jessie) e Penelope Featherington (Nicola Coughlan) em cena de 'Bridgerton' - Eloise Bridgerton (Claudia Jessie) e Penelope Featherington (Nicola Coughlan) em cena de 'Bridgerton'
Imagem: Eloise Bridgerton (Claudia Jessie) e Penelope Featherington (Nicola Coughlan) em cena de 'Bridgerton'

A primeira, irmã mais nova de Daphne, é espirituosa e sonha em fugir do roteiro da época, pelo qual o único caminho das mulheres da alta sociedade era casar e ter filhos. Já a segunda, caçula da família vizinha, é uma garota sonhadora e romântica, que vive uma paixão não correspondida.

E claro que não dá para não falar de Julie Andrews como Lady Whistledown...

...Uma misteriosa colunista que começa a publicar todos os escândalos da alta sociedade. Nunca a vemos, mas sua narração torna a história ainda melhor de se assistir.

Então vale ver?

Vale! E aqui não importa se você é fã de série de épocas ou não: você vai se divertir muito vendo "Bridgerton" neste fim de ano.