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

Monark crê que poderia ter seguido no Flow Podcast: 'Dava para ter peitado'

Monark contou que vendeu sua parte no negócio ao sair do "Flow Podcast" - Reprodução/ Twitter
Monark contou que vendeu sua parte no negócio ao sair do 'Flow Podcast' Imagem: Reprodução/ Twitter

Colaboração para Splash

08/06/2022 10h57

O vlogueiro Bruno Aiub, mais conhecido como Monark, voltou a comentar sua saída conturbada do "Flow Podcast", após uma fala polêmica em que apoiou a fundação de um partido nazista no Brasil.

Em conversa com Rica Perrone no podcast "Cara a Tapa", ele afirmou acreditar que a situação poderia ter se resolvido sem a necessidade de seu desligamento.

"Se eu fosse cancelado e tivesse ficado no Flow, se a gente tivesse lutado de frente contra essa onda [do cancelamento] ao invés de só dar o meu corpo para ver se acalmava a turma raivosa, eu acho que poderia ter ido por um caminho muito legal. A gente poderia até ter vencido uma batalha numa guerra", analisou Monark. "Acho que dava para ter peitado, mas vai saber, né? Era mais arriscado peitar do que não [peitar]."

O youtuber explicou que, na ocasião de sua saída, vendeu sua parte do negócio - mas ainda não recebeu o dinheiro devido. "Vou ganhar, assim que eles tiverem dinheiro para pagar. A gente perdeu todos os patrocínios, foi desmonetizado... Secou a fonte de renda", recordou.

Embora garanta não ter mágoas dos antigos sócios, Monark itiu que não sabe se voltaria a integrar o antigo time.

"Não sei se me encaixo mais no Flow, para ser sincero. Eu sou alvo e vou continuar sendo alvo. Sou uma pessoa muito autêntica, falo meio sem pensar... Não quero pôr eles novamente em uma situação em que o caos se instaura por causa de algo que eu falei", desabafou.

Entenda o caso

As declarações controversas que culminaram na saída de Monark do "Flow Podcast" foram dadas em fevereiro deste ano, durante participação dos deputados federais Tábata Amaral (PSB-SP) e Kim Kataguiri (DEM-SP) na atração.

"A esquerda radical tem muito mais espaço do que a direita radical. As duas tinham que ter espaço, na minha opinião. Eu acho que tinha que ter um partido nazista reconhecido pela lei. As pessoas não têm o direito de serem idiotas? Se o cara quiser ser antijudeu, eu acho que ele deveria ter o direito de ser", disparou Monark na ocasião.

Ele chegou a se desculpar publicamente pela fala infeliz, mas, recentemente, confessou que se arrepende da atitude. "Não foi inteligente da minha parte. Acho que eu devia ter ficado quieto. Não devia ter pedido desculpa, devia ter explicado o meu ponto [de vista]", declarou.