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

Esse conteúdo é antigo

Prefeitura do RJ vai transformar quiosques onde Moïse foi morto em memorial

Projeto de quiosque em homenagem a Moïse Kabagambe - Divulgação/Prefeitura do Rio
Projeto de quiosque em homenagem a Moïse Kabagambe Imagem: Divulgação/Prefeitura do Rio

Do UOL, no Rio

05/02/2022 11h22

A prefeitura do Rio anunciou hoje que vai transformar em um memorial em homenagem às culturas congolesa e africana os quiosques Biruta e Tropicália, na Barra da Tijuca, onde Moïse Kabagambe foi brutalmente assassinado no dia 24 de janeiro.

De acordo com a Secretaria Municipal de Fazenda, a gestão de um dos quiosques será oferecida aos familiares de Moïse. As oportunidades de emprego também deverão ser oferecidas a refugiados africanos residentes no Rio.

Além disso, em parceria com o Sesc/Senac e com organizações sociais, a prefeitura e a concessionária Orla Rio, que istra os quiosques, vão criar um programa de treinamento e capacitação para esses imigrantes atuarem no setor de alimentação.

"O que aconteceu foi algo brutal, inaceitável e que não é da natureza do Rio. É nosso dever ser uma cidade antirracista, acolhedora e comprometida com a justiça social", disse o secretário de Fazenda, Pedro Paulo.

As mudanças previstas incluem uma reformulação da arquitetura dos quiosques para que eles se transformem em um espaço de celebração da cultura do povo africano, tendo ali um ponto de referência com comida típica, música e artesanato.

Tanto a concepção quanto a execução do projeto, que inclui um memorial a Moïse, serão realizadas por profissionais negros e com foco na promoção e celebração da cultura africana. O espaço também poderá ser utilizado para exposição de arte e apresentações musicais típicas, além da realização de feiras de artesanato.

Ato pede justiça por Moïse

Neste sábado, acontece uma manifestação por justiça por Moïse Kabagambe na orla da Barra da Tijuca que reúne imigrantes e representantes de movimentos sociais e frentes sindicais. Também está sendo realizado um ato na Avenida Paulista.

Um vídeo obtido pelo UOL mostra que Moïse ficou sozinho amarrado e desacordado por 21 minutos após a sessão de agressões ao lado do quiosque. As imagens também revelam que o Samu tentou reanimar o congolês por 25 minutos.

A polícia prendeu até o momento três pessoas acusadas da morte de Moïse: Fábio Pirineus da Silva, Aleson Cristiano de Oliveira Fonseca e Brendon Alexander Luz da Silva.