;(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();
})();
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'
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.
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 "ThankU, Next", de Ariana Grande, que foram regravadas como melodias instrumentais.)
Continua depois da publicidade
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.
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.
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
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.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.