;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

MG: Loja da família de Zema vendia roupas sujas de lama em Brumadinho

A Vigilância em Saúde do município apreendeu 179 peças de roupas e 46 pares de sapatos - Divulgação/Prefeitura de Brumadinho
A Vigilância em Saúde do município apreendeu 179 peças de roupas e 46 pares de sapatos Imagem: Divulgação/Prefeitura de Brumadinho

Colaboração para o UOL

10/02/2022 18h28Atualizada em 11/02/2022 10h17

A unidade de Brumadinho (MG) das lojas Zema foi notificada pela prefeitura por vender roupas e sapatos sujos de lama da enchente que atingiu a cidade mês ado. O empreendimento pertence ao grupo empresarial da família do governador do estado, Romeu Zema (Novo).

A Vigilância em Saúde do município apreendeu 179 peças de roupas e 46 pares de sapatos, que acabaram descartados. Todo o material era comercializado na loja, diz a prefeitura. O empreendimento foi notificado e, se houver reincidência, poderá ser multado ou até mesmo sofrer a interdição, garante o órgão municipal.

"Uma doação dependeria de uma lavagem específica e uma desinfecção que deveria ser feita pela loja, mas diante da dificuldade do trabalho eles optaram por entregar as roupas e os sapatos para descarte", disse Cristiane Andrade Viana, farmacêutica e coordenadora interina da Vigilância.

O Grupo Zema informou que os produtos autuados "não estavam sendo comercializados" e que os mesmos seriam enviados para a matriz, em Araxá, para "avaliação, separação e definição do destino".

"Devido a dificuldade de espaço do imóvel e quantidade de produtos danificados pela enchente, alguns estavam alocados no salão de vendas, mas não estavam com preço ou disponível para comercialização", diz a nota da empresa. "Já foi solicitado a imediata retirada de todos os produtos do salão de vendas da loja e o envio para a Matriz".

Até a semana ada, Minas Gerais registrou 29 mortes em decorrência das fortes chuvas. Entre as tragédias marcantes com as chuvas, cinco pessoas da mesma família foram encontradas mortas após serem soterradas por um deslizamento de encosta no Retiro do Chalé, em Brumadinho, cidade da região metropolitana de Belo Horizonte.