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

Com restrição de transporte, patrão manda buscar doméstica gripada no Rio

Marcela Lemos

Colaboração para o UOL, no Rio

26/03/2020 13h49

Depois de dois dias sem comparecer ao trabalho por causa das restrições de embarque nos transportes público, a doméstica M.M, 42, moradora da Baixada Fluminense, foi informada pelo patrão que um carro particular iria buscá-la em casa para que ela pudesse retornar ao serviço.

A decisão do empregador contraria recomendação de isolamento social —a profissional diz ainda estar com sintomas de uma gripe leve. O carro foi buscá-la na terça (24) à noite. A mulher trabalha há um ano em um apartamento na zona sul do Rio, em um dos bairros com o metro quadrado mais caro da cidade.

No imóvel mora um idoso com mais de 90 anos que conta com ajuda de enfermeiros e outros quatro funcionários que executam serviços do lar. Assim como os demais, M.M dorme de segunda a quinta no local. Às sextas-feiras, retorna para sua casa na Baixada Fluminense.

A pedido da funcionária, o UOL não vai divulgar os nomes dos envolvidos nem os respectivos bairros onde moram para preservar a identidade da mulher.

Ela conta que deixou a residência onde trabalha na última sexta-feira (20) e não conseguiu retornar ao serviço devido às restrições de embarque no transporte público. Um decreto do governador do Rio, Wilson Witzel (PSC), permite apenas que profissionais que integram serviços essenciais em trens e ônibus em direção à capital. Policiais militares conferem documentos dos ageiros, como carteira de trabalho, crachás e contra-cheques.

O aviso que um carro iria buscá-la causou estranheza na funcionária. "Eu estou com sintomas de gripe. Acho que pode até ser alergia respiratória, mesmo assim estão me tirando de casa para conviver com um senhor já bem idoso que precisa de cuidados médicos diários (...) Enquanto está todo mundo em casa se protegendo, estou tendo que voltar ao serviço."

"O tempo lá ainda é da escravidão", diz empregada

No apartamento, M.M dorme em um quartinho pequeno, onde só cabe uma cama e uma prateleira que usa para acomodar seus objetos pessoais. O local não conta com ventilação —possui apenas um basculante.

Ela conta ainda que leva da sua casa para o trabalho sucos, refrigerantes e biscoitos. O pão é contado na residência e as refeições são sobras do almoço e do jantar.

"É um pão para cada um. Se for pão de forma, aí sim são duas fatias para cada. A janta é a sobra do almoço e o almoço no dia seguinte é a sobra do jantar. De casa, levo as frutas que gosto e outras coisas. O tempo lá ainda é da escravidão", diz a mulher que trabalha 12 horas por dia no apartamento.

A renda de M.M é de R$1.500 mais o valor mensal da agem de ida e de volta para casa aos finais de semana. Antes de trabalhar nesta casa, a funcionária ficou desempregada por sete meses.