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

Ana Maria Braga ensina a fazer fish and chips; aprenda a receita

Fish and chips da Ana Maria Braga - Reprodução/Ana Maria Braga
Fish and chips da Ana Maria Braga Imagem: Reprodução/Ana Maria Braga

De Nossa, em São Paulo

30/07/2020 11h35

Fish and chips foi a receita de hoje feita por Ana Maria Braga no programa 'Encontro com Fátima Bernardes', da TV Globo.

Um prato típico inglês de preparo fácil, que leva em torno de 1h30 para ser feito e rende até quatro porções.

Ingredientes do tempurá

  • 120 g de farinha de trigo
  • 100 g de farinha de arroz
  • 1 colher de sopa de fermento químico
  • 300 ml de cerveja clara
  • Sal e pimenta-do-reino a gosto

Ingredientes do peixe

  • 500 g de filé de peixe em pedaços (recomenda-se tilápia ou pescada-branca)
  • Sal e pimenta-do-reino a gosto
  • 2 xícaras de chá de farinha de trigo temperada com sal e pimenta-do-reino a gosto
  • Óleo para fritar

Ingredientes da batata ao murro

  • 1 kg de batata-calabresa (bolinha) com casca
  • Sal e pimenta-do-reino a gosto
  • Óleo para fritar

Ingredientes do molho tártaro

  • 1/2 xícara de chá de maionese (100 g)
  • 2 colheres de sopa de picles bem picado (25 g)
  • 2 colheres de sopa de alcaparras picadas (25 g)
  • 1 e 1/2 colher de sopa de suco de limão
  • Salsa picadinha a gosto
  • Sal e pimenta-do-reino a gosto

Modo de preparo do tempurá

Misture a farinha de trigo, a farinha de arroz, o fermento, a cerveja e tempere com sal e pimenta a gosto. Guarde-os na geladeira por 30 minutos.

Modo de preparo do peixe

Tempere o peixe com o sal e a pimenta-do-reino a gosto.

Cubra o peixe com filme plástico e deixe-o marinando na geladeira por 30 minutos.

Empane o peixe na farinha e retire o excesso com batidinhas.

Mergulhe, aos poucos, os pedaços de peixe no tempurá e coloque-os no óleo já aquecido para fritarem até dourarem (cerca de 4 minutos).

Deixe os pedaços de peixe escorrerem em papel absorvente e sirva-os com a batata e o molho.

Modo de preparo da batata ao murro

Cozinhe as batatas em água com sal por 25 minutos ou até ficarem macias.

Escorra as batatas e deixe-as amornando. Em seguida, usando a palma da mão, amasse-as levemente, uma por uma.

Aos poucos, frite-as em óleo quente abundante até dourarem (cerca de 3 minutos).

Deixe-as escorrerem em papel absorvente e tempere-as com sal e pimenta-do-reino a gosto.

Modo de preparo do molho tártaro

Misture a maionese, os picles, as alcaparras, a salsa e o suco de limão, temperando com sal e pimenta a gosto. Mantenha-os na geladeira.