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

Autora de 'A Troca' fala de parceria com Steven Spielberg: 'Só emoção'

Beth O"Leary está sempre na lista de mais vendidos e seus livros se tornarão séries  -  Tom Medwell
Beth O'Leary está sempre na lista de mais vendidos e seus livros se tornarão séries Imagem: Tom Medwell

de Universa, São Paulo

10/04/2022 04h00

Se você gosta de romances com personagens femininos precisa —ou já deve— conhecer a Beth O'Leary. A autora inglesa se tornou presença constante na lista dos mais vendidos do mundo logo com seu primeiro lançamento. Seu último livro a desembarcar no Brasil é o "Na estrada com o ex" (Intrínseca), que, como o título já indica, coloca um casal que já tinha terminado seu relacionamento no mesmo carro a caminho de um casamento, após um pequeno acidente.

Beth é um dos novos fenômeno de vendas. Só no Brasil, ela já vendeu mais de 270 mil exemplares. "Recebo tantas mensagens lindas dos meus leitores do Brasil. Adoro saber o quanto eles se conectaram aos meus livros. Significa muito pra mim", diz Beth, em entrevista a Universa.

Mesmo com as críticas positivas elevando seu nome e a comparando com Jojo Moyes e Marian Keys - suas grandes inspirações no gênero de romance -, para Beth é muito impactante ver seu nome na lista dos mais vendidos. "É incrível. Para mim, parece tudo tão novo que fico perplexa e impressionada em ver meu nome lá. Sou muito grata a todos os meus leitores em todo o mundo", diz.

Das páginas para as telas

"Na estrada com o ex", o último livro de  Beth O?Leary lançado no Brasil  - Divulgação - Divulgação
"Na estrada com o ex", o último livro de Beth O'Leary lançado no Brasil
Imagem: Divulgação

Antes mesmo de lançar seu primeiro livro, Beth já tinha vendido os direitos de "Um Teto para Dois" para uma série de TV - que foi comprada pela Paramount+. "É maravilhoso finalmente poder compartilhar as notícias com os leitores. Não estou envolvida na adaptação - pra mim, seria muito difícil. Escrever roteiros é uma habilidade tão diferente. Queria que alguém viesse para a história com novos olhos e trouxesse sua própria interpretação", conta. O que é mais legal ainda sobre a história é que ela é baseada na própria vida de Beth.

Na trama, Tiffy está procurando um apartamento para sair da casa do ex - sim, ela ainda estava com ele. Com pouca grana, as opções eram escassas. Mas acabou conseguindo um aluguel onde ela dividiria a mesma cama com outro cara, que costumava trabalhar à noite.

Ela se inspirou em detalhes da própria vida para compor a história. "Eu morava com meu namorado, que agora é meu marido, enquanto ele era um médico recém-formado fazendo muitos turnos noturnos. Às vezes, nunca estávamos em casa ao mesmo tempo - quando eu saía, ele entrava e vice-versa. Comecei a notar coisas sobre como o dia dele estava indo pelas pistas da casa: as canecas de café na pia, o último programa assistido na Netflix? Isso me fez pensar: o que dois estranhos notariam um no outro se morassem juntos assim?", conta. Ela começou a escrever a história no trajeto que fazia de casa ao trabalho de trem, pois era seu único horário livre do dia.

"Um Teto para Dois", de  Beth O'Leary, se tornará uma série  - Divulgalção  - Divulgalção
"Um Teto para Dois", de Beth O'Leary, se tornará uma série
Imagem: Divulgalção

Os dois atores principais da série já foram escolhidos. "Estou emocionada que Jessica Brown Findlay (que interpretou Lady Sybil Crawley em Downton Abbey) e Anthony Welsh vão interpretar Tiffy e Leon - ambos são atores tão talentosos e mal posso esperar para ver as interpretações dos personagens", diz.

Mas nervosa com o lançamento ela jura que não está. "Sempre fico nervosa com o lançamento de um novo livro. Os romances dão muito trabalho e são uma criação tão pessoal. Enviá-lo para o mundo é extremamente estressante. Mas quando se trata das adaptações confio que eles farão um trabalho brilhante com suas versões das minhas histórias. Só me emociono", explica.

Além da série, uma outra obra de Beth está a caminho de se tornar filme. "A Troca", que narra a história de uma avó e uma neta, cada uma com suas aflições, que decidem mudar de vida, casa e amigos, teve seus direitos comprados pela produtora do Steven Spielberg e contará com Rachel Brosnahan, que já ganhou o Emmy e do Globo de Ouro pela série "The Marvelous Mrs. Maisel", como atriz e produtora executiva.

A diversidade no protagonismo desta obra, que trama deixa de ser só uma menina de 20 anos e a também a contemplar uma mulher na terceira idade que busca um amor, é algo a se destacar. "Eu amo escrever sobre uma ampla gama de personagens em meus romances. Personagem é minha parte favorita da escrita - ou talvez a parte mais mágica. Os meus ganham vida lentamente no primeiro rascunho, e, às vezes, parece que estou descobrindo quem eles são, em vez de criá-los. É uma coisa maravilhosa e curiosa", conta Beth.