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

Qual a mistura do Brasil com Croácia? No prato, rendeu bela salada de polvo

Salada de polvo com purê de feijão branco - Pedro de Bem
Salada de polvo com purê de feijão branco Imagem: Pedro de Bem

Pedro de Bem

Colaboração para Nossa

09/12/2022 04h00

Que tal uma salada potente para acompanhar o jogo do Brasil? Hoje está valendo. Decidimos fazer um mix de receitas tradicionais do Brasil e da Croácia, a 'rival' da seleção canarinho hoje na Copa do Mundo do Qatar.

Essa é proposta da série de vídeos "Rumo ao Hexa", comandada no Instagram de Nossa pelo chef Pedro de Bem, apresentador do programa "Cozinha por Aí" aqui em Nossa (veja as duas temporadas no Youtube)..

A cada jogo do Brasil na Copa, ele apresenta uma ou mais receitas típicas e faz um mix dos sabores estrangeiros com um toque brasileiro.

Para o embate de hoje, a Croácia entra na cozinha com um prato tradicional nas praias do país, a salada de polvo. Já o Brasil entra no mix com um purê de feijão branco.

Confira no reels abaixo o o a o do prato criado por Pedro de Bem especialmente para este jogo da seleção brasileira na Copa.

Receita e dicas do Pedro

A salada de polvo é uma receita versátil, na qual você pode agregar temperos e legumes da sua preferência. Mas se quiser repetir esta que o Pedro fez no vídeo, ele dá os ingredientes e algumas dicas.

O legal desta salada é que podemos ir equilibrando as quantidades conforme o nosso gosto! Ou seja, não existe certo ou errado"

Ingredientes

Para a salada:

  • 300g de polvo
  • 100g de tomate cereja
  • ½ pimentão verde
  • ½ pimentão amarelo
  • 2 colheres de sopa de azeite de oliva
  • funcho e cebolete a gosto
  • sal e pimenta a gosto

Para o purê:

  • 500g de feijão branco
  • ½ colher de sopa de tahine (a gosto)
  • sal e pimenta a gosto

Modo de fazer

Salada de polvo

Corte os tentáculos do polvo em fatias finas — Pedro fez o dele no sous vide por 5 horas a 77 graus Celsius, mas pode-se usar o método tradicional, na água. Em uma vasilha, coloque o polvo cortado, os pimentões verde e amarelo picados, os tomates cereja cortados em meia lua, as folhinas de funcho e as cebolete.

Para temperar, pode ser generoso com o azeite de oliva, e depois ajustar o sal e a pimenta. E não pode faltar umas gotinhas de limão e as raspas de limão, que trazem aroma e frescor.

Purê de feijão branco

Cozinhe o feijão até ar um pouquinho do tempo normal de cozimento — Pedro recomenda deixar cerca de 40 minutos na pressão.

O próximo o é bater com o mixer de mão (ao botar no recipiente para bater, adicione um pouco da água do cozimento, irá ajudar no processo e na textura).

Temperos aqui são livres, partindo do básico (sal e pimenta-do-reino) e podendo incrementar como quiser.

Dica extra do Pedro: "Eu adoro adicionar neste purê tahine ou umas gotinhas de óleo de gergelim"