;(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 bolinho de arroz crocante; aprenda a receita

Bolinho de arroz crocante e sem glúten foi a receita de hoje feita pela Ana Maria Braga - Getty Images/iStockphoto
Bolinho de arroz crocante e sem glúten foi a receita de hoje feita pela Ana Maria Braga Imagem: Getty Images/iStockphoto

De Nossa, em São Paulo

10/07/2020 11h42Atualizada em 12/08/2020 10h55

Bolinho de arroz crocante foi a receita de hoje feita por Ana Maria Braga no programa "Encontro com Fátima Bernardes", da TV Globo.

Uma receita de preparo fácil e que rende até 40 unidades para toda a família. A apresentadora deu a opção de fazer o bolinho de arroz com ou sem farinha de trigo.

Ingredientes

  • 1 dente de alho picado
  • 2 xícaras (chá) de arroz branco cozido - ou 300
  • 1/2 xícara (chá) de cebola picadinha
  • 2 xícaras (chá) de farinha panko
  • Tomilho debulhado e folhas de manjericão picadas a gosto
  • 1/2 xícara de chá (50g) de queijo parmesão ralado
  • 1 colher (sopa) de fermento químico em pó
  • 1 ovo
  • 1 fio de azeite
  • 1/2 xícara (chá) de farinha de trigo (opcional)
  • 200g de queijo muçarela ralado grosso
  • 1/2 xícara (chá) de creme de leite de caixinha
  • Pimenta-do-reino moída e sal a gosto

Modo de preparo

Aqueça 1 fio de azeite em uma frigideira em fogo médio. Em seguida, adicione 1/2 xícara (chá) de cebola, 1 dente de alho picado e deixe fritar por cerca de um minuto até murchar os ingredientes.

Na mesma a coloque sal, folhas de manjericão picado, tomilho debulhado, pimenta-do-reino na quantidade que desejar, e 2 xícaras (chá) de arroz branco cozido. Misture bem.

Desligue o fogo. Coloque a mistura em um processador e ligue no modo pulsar. Deixe até todos os grãos de arroz estarem quebrados.

Em uma tigela, coloque 1/2 xícara (chá) de creme de leite de caixa, 200g de queijo muçarela ralado, 1 ovo, 1 colher de sopa de fermento químico em pó, 1/2 xícara (chá) de farinha de trigo (uso opcional), 1/2 xícara (chá) de queijo parmesão ralado, e misture bem.

Após misturar, separe porções de, em média, 20 gramas. Faça bolinhas e as e em 2 xícaras (chá) de farinha panko.

Em fogo médio, com óleo bem quente, frite os bolinhos até que eles fiquem dourados.

Tire da a, deixe em um papel toalha absorvente para retirar o excesso de gordura. Sirva em seguida como desejar.