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

Parlamento Europeu decide que hambúrguer vegetariano também é hambúrguer

Medida votada hoje propunha que proibia que alimentos produzidos com alternativas à carne recebessem os mesmos nomes de suas versões originais, como salsichas e hambúrgueres - Getty Images
Medida votada hoje propunha que proibia que alimentos produzidos com alternativas à carne recebessem os mesmos nomes de suas versões originais, como salsichas e hambúrgueres Imagem: Getty Images

De Nossa, em São Paulo*

23/10/2020 20h49

O Parlamento Europeu adotou hoje as diretrizes da próxima PAC (Política Agrícola Comum do bloco, que contêm mais obrigações ambientais, apesar das críticas de ONGs por considerá-las insuficientes. E decidiu, entre outras questões, que hambúrgueres vegetarianos também podem ser considerados hambúrgueres.

Eurodeputados votaram contra uma medida que proibiria que alimentos produzidos com alternativas à carne fossem apresentados com os mesmos nomes de suas referências de origem animal. O veto abrangeria alimentos como salsichas e hambúrgueres.

"A razão prevaleceu e os pecadores do clima perderam. Vale a pena comemorar com um hambúrguer vegetariano", celebrou Nikolak Villumsen, representante dinamarquês no Parlamento Europeu, em sua conta no Twitter.

Segundo Camille Perrin, diretora de política alimentar da Orginização Europeia do Consumidor, a vitória reflete o "senso comum" nos mercados.

"Consumidores não se confundem com um bife de soja ou com uma salsicha de grão-de-bico, desde que estejam claramente rotuladas como opções vegetarianas ou veganas", afirmou, de acordo com o site da NPR.

Votação da política agrícola

Os três documentos que constituem a base da próxima PAC foram aprovados, embora houvesse um clima de incerteza durante o dia sobre a orientação dos principais blocos políticos. Agora, os legisladores deverão negociar com os países-membros a aplicação da norma a partir de 2023.

Esta nova PAC amplia os chamados "ecorregimes", que preveem pagamentos a produtores agrícolas que tenham alcançado, ou superado, as metas de proteção ambiental, ou em apoio às ações contra a mudança climática.

A proposta também determina dedicar ao menos 35% do orçamento de desenvolvimento rural a todos os tipos de medidas relacionadas ao meio ambiente e ao clima.

As bancadas dos Verdes europeus e parte dos legisladores de esquerda votaram contra o novo plano por considerar que não contribui para repensar o modelo agrícola e alimentício europeu.

'Erro histórico'

Uma nota dos Verdes afirmou que "esta PAC é um erro histórico". Para a bancada da Esquerda Unitária europeia, a aprovação foi "um exercício cínico".

Ativistas em defesa do meio ambiente pressionaram os eurodeputados para pedirem a rejeição à nova PAC por não ajudar a cumprir os compromissos de combate às mudanças climáticas.

A ativista Greta Thunberg alertou os eurodeputados que "esta é sua oportunidade de transformar palavras vazias em ações".

"Os olhos das gerações futuras estão sobre vocês", acrescentou.

Os subsídios da União Europeia aos agricultores são enormes e comprometem aproximadamente um terço de todo gasto do bloco para os Estados-membros.

Na proposta de orçamento para 2021 a 2027 atualmente em debate, cerca de 387 bilhões de euros (mais de R$ 2,5 trilhões) são destinados a essa finalidade.

Essas ajudas são amplamente defendidas pelos Estados agrícolas, especialmente França, Irlanda e as nações da Europa Oriental, onde os agricultores têm uma forte influência política.

Ativistas ambientais destacam, porém, com frustração, que apenas 20% dos recursos nos planos de despesa discutidos serão dedicados a políticas favoráveis ao clima.

Mathieu Courgeau, agricultor francês e membro do grupo Good Food Good Farming, que reúne 400 ONGs na Europa, ficou "muito decepcionado".

Segundo ele, o texto dos deputados "não garante uma redistribuição suficiente da ajuda às pequenas e médias propriedades", e também "é altamente desequilibrado a favor da industrialização da agricultura".

No início desta semana, os ministros europeus da agricultura, reunidos em Luxemburgo, alcançaram um acordo sobre as linhas centrais da nova PAC, que agora está apoiada pelo Parlamento.

* Com informações da AFP