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

Como 'Bridgerton' evitou ser uma série de época só com atores brancos

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

De Splash, em Bristol*

25/12/2020 04h00

"Bridgerton", que estreia hoje na Netflix, tem um diferencial importante em relação a outras séries de época que vieram antes:

Ela tem um elenco diverso, realmente integrado à história.

Continua depois da publicidade

Na série, pessoas negras têm títulos de nobreza e fazem parte da alta-sociedade londrina do século 19 —caso do Duque de Hastings (Regé-Jean Page), um dos protagonistas, e da própria rainha Charlotte (Golda Rosheuvel).

Mas não se trata de escalações "color blind", como se diz quando a etnia do personagem não faz diferença para a trama.

"Bridgerton" realmente torna a diversidade parte da série, seguindo os os de outras produções da Shondaland (da poderosa Shonda Rhimes), como "Scandal" e "Grey's Anatomy".

E "Bridgerton" faz isso usando a história como base.

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

O criador e showrunner Chris Van Dusen, que adaptou a série a partir dos livros de Julia Quinn, se baseou nas evidências de que a rainha Charlotte da vida real (1744-1818) era descendente de africanos, uma informação muito resgatada nos últimos anos, com a chegada de Meghan Markle à família real.

Continua depois da publicidade

A partir daí, Van Dusen criou em "Bridgerton" um mundo em que a ascensão de Charlotte ao trono foi transformadora para as pessoas não-brancas --o que é dito com todas as letras por volta da metade da temporada.

Netflix - Netflix
Golda Rosheuvel é a rainha Charlotte em 'Bridgerton'
Imagem: Netflix

Para Golda Rosheuvel, que conversou com Splash no set da série, essa representatividade é uma vitória para o público:

Não se trata apenas de retratar um momento histórico clássico, mas também de ser fiel ao público que está assistindo.

Ela explica: "Ter pessoas não brancas, ter essa diversidade em 'Bridgerton', é importante porque o público assistindo à série vai poder se reconhecer e se ver nas histórias que estão sendo contadas".

Continua depois da publicidade

Apagamento

A diversidade de "Bridgerton", porém, não facilita só a ligação com o público de hoje. Para Adjoa Andoh, que interpreta a fabulosa Lady Danbury, figura materna do Duque de Hastings, a série corrige um apagamento que já acontece há muito tempo nas artes.

Não é como se nós não tivéssemos estado por lá; É que não reconheceram a nossa presença. E é isso que a série faz: ela reconhece a nossa presença e a amplifica.

LIAM DANIEL/NETFLIX - LIAM DANIEL/NETFLIX
Adjoa Andoh como Lady Danbury em 'Bridgerton'
Imagem: LIAM DANIEL/NETFLIX

Ela lembra que na época em que se a a série, o período regencial inglês, no início do século 19, havia 20 mil negros na Inglaterra. Muitos deles inclusive lutaram nas guerras contra Napoleão, em dois fatos confirmados por historiadores britânicos.

Logo, não dá para simplesmente dizer que só havia brancos entre os ingleses daquela época e usar isso como desculpa para só escalar atores brancos em produções do gênero.

Continua depois da publicidade

O que acontece é que nós fomos apagados da história. Agora estamos sendo pintados nela de novo, e isso é ótimo.

*A repórter viajou a convite da Netflix