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

Onde mora a alma carioca

Madureira é um dos pontos mais icônicos do Rio de Janeiro. No coração da cidade, a zona Norte, abriga duas das mais tradicionais escolas de samba: a Portela e o Império Serrano. É onde a tradição carioca se mistura com o contemporâneo. Por tudo isso, o bairro foi escolhido como endereço do Wakanda, um festival de cultura, ativismo e empreendedorismo organizado pelo historiador e influenciador Jonathan Raymundo. Na última edição, o evento reuniu 1,6 mil pessoas.

É o endereço da alma do carioca. "Ali está tudo: música, festa, cultura, boa gastronomia. É também uma região de fácil o por trem, ônibus ou metrô. Entre o subúrbio e a zona Oeste, Madureira é uma Meca preta, um grande polo cultural", diz o organizador do encontro.

Jonathan nasceu em Jacarepaguá há 32 anos e hoje vive em Realengo. Mas tem uma relação de afeto com Madureira desde a infância, quando uma de suas tias comprou uma casa e se mudou para pertinho da sede da Portela.

A escola tem importância fundamental no bairro. Movimenta parte da economia e organiza eventos culturais o ano todo. Um deles é a tradicional feijoada. Todo primeiro sábado do mês, o almoço reúne cariocas, sambistas e turistas. Por causa da pandemia, o calendário desta e das outras atrações da região estão alterados.

Outro evento que agita a cena cultural por ali é o Baile Charme do Viaduto Madureira. Há mais de 30 anos, a festa reúne centenas de pessoas sob a estrutura urbana também chamada de "Dutão" pelos cariocas. Lá já tocaram vários nomes da música black nacional e internacional, como DJ Marlboro, Negra Li, Racionais Mc's, Montell Jordan, Rah Digga, entre outros.

Mais do que um viaduto, o Dutão é um grande polo cultural que cimenta os saberes e abriga expressões artísticas".

O Mercadão de Madureira é um ponto importantíssimo para o comércio e para a paisagem local. Surgiu em 1914 como uma feira livre no endereço onde hoje está a quadra da escola de samba Império Serrano. Em 1959, foi transferido para o prédio atual, na avenida Edgard Romero. As quase seis centenas de lojas atraem mais de 80 mil pessoas por dia (em tempos normais, claro).

No pé do Complexo da Serrinha, está a sede do Jongo da Serrinha, um centro de preservação e reafirmação da cultura negra. Ali se encontram "os grandes bambas do samba" para cantar e dançar o jongo, uma dança de roda de origem angolana.

A Praça Paulo da Portela abriga a Feira das Yabás, as grandes mães, no idioma iorubá. Além de shows, rodas de samba e de jongo, a grande atração são as barracas de comida. Tem feijoada, angu, pratos da culinária baiana, entre outras delícias. Acontece geralmente todo segundo domingo do mês, mas, por ora, está suspensa.

A Paulo Portela fica, na verdade, em Osvaldo Cruz, ou na 'grande Madureira'. Como canta Arlindo Cruz no samba 'Meu lugar', inclui também Cascadura, Vaz Lobo e Irajá".

Em 2018, Jonathan percebeu que estava cansado de discutir pautas políticas, principalmente questões negras, apenas na internet. "Achei que faltava troca de afeto, olho no olho", diz. Teve a ideia, então, de promover um encontro presencial entre as pessoas com quem conversava.

Assim nasceu o Wakanda, que ele chama de "quilombo particular". Inicialmente foi um piquenique informal para o qual compareceram cerca de 60 pessoas no Parque Madureira. A festa logo cresceu e se transformou em um grande evento. A última edição, em dezembro de 2019, levou 1600 à arena do parque.

Escolhi o Parque Madureira porque é um lugar bonito, organizado, seguro, um centro de arte, cultura e lazer".

Publicado em 23 de abril de 2021


Texto: Giuliana Bergamo

Ilustração: Mariana Coan