;(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();
})();
Além de Ciro, Vera Magalhães já debateu com Emicida e Zé de Abreu
Vera Magalhães discutiu com Ciro Gomes ontem no 'Roda Viva'
TV Cultura
De Splash, em São Paulo
16/08/2022 14h04
Ontem, no "Roda Viva", um bate boca chamou a atenção do público: o candidato à presidência Ciro Gomes (PDT) e a apresentadora Vera Magalhães tiveram uma discussão e acusaram um ao outro de hostilidade.
O astrólogo comentou a saída dela da Jovem Pan fazendo piada com seu nome: "Por favor, me informem: é verdade que a 'Véia Magalhães' perdeu o emprego?"
Continua depois da publicidade
A resposta de Vera Magalhães também foi irônica.
Ela explicou que não havia sido demitida e que assumiria o "Roda Viva". E acrescentou:
Aproveito para reiterar o convite para entrevistá-lo ao vivo, que a produção já lhe fez. Feliz Natal, muita saúde, no auge da sua juventude.
Caro @opropriolavo, informo: não, como sempre se trata de fake news. Pedi demissão da Jovem Pan para assumir o Roda Viva. Aproveito para reiterar o convite para entrevistá-lo ao vivo, que a produção já lhe fez. Feliz Natal, muita saúde, no auge da sua juventude pic.twitter.com/ZhozOtNcfm
Vera também já rebateu uma crítica de Zé de Abreu no Twitter.
José de Abreu usou o Twitter para criticar Vera Magalhães, e foi chamado de 'Zé do Lixão' pela apresentadora
Imagem: Reprodução/Instagram
O ator compartilhou uma postagem que elogiava a apresentadora, e disse discordar: "Odeio. Sem voz, sem competência, sem neutralidade, sem coerência, acho uma M*RDA! Só está lá pelo marido tucano".
Vera respondeu: "Ah, o machismo e a misoginia, essas chagas exclusivas da direita, não é mesmo? O que sou, sou por minha responsabilidade. Casamento é outra coisa, Zé do Lixão, que cospe em mulher. Vai viver sua vida medíocre, filho".
Ah, o machismo e a misoginia, essas chagas exclusivas da direita, não é mesmo? O que sou sou por minha responsabilidade. Casamento é outra coisa, Zé do Lixão, que cospe em mulher. Vai viver sua vida medíocre, filho. https://t.co/1YjIRWx28b
"Não tenho notícia da milícia dirigindo uma escola de samba, miliciano dirigindo escola de samba. Na Vila Isabel, por exemplo, não tem esse problema", diz Martinho da Vila no #RodaVivapic.twitter.com/FOMY7rXcxt
A jornalista disse que o músico "desconversou" sobre o tema, e o filho de Martinho da Vila se pronunciou no Twitter:
Ele não desconversou... Ele só não quis conversar porque realmente é um assunto desnecessário e desrespeitoso com ele... Só isso... Nada demais. Tunico da Vila
Não vejo desrespeito algum. Nem todas as perguntas numa entrevista são agradáveis, infelizmente. De resto, respeito sua opinião. Um abraço.
"Não vejo desrespeito algum. Nem todas as perguntas numa entrevista são agradáveis, infelizmente", respondeu Vera na rede social.
O público relembrou que não foi a primeira pergunta de Vera Magalhães a um artista negro sobre uma suposta relação de gêneros musicais tradicionalmente negros com o crime.
Em 2020, ao entrevistar Emicida no 'Roda Viva', ela questionou: 'O rap é condescendente com o crime organizado?'
Emicida em entrevista ao Roda Viva, da TV Cultura, em julho de 2020
Imagem: reprodução/TV Cultura
Continua depois da publicidade
"Isso é uma análise que eu acho bastante preconceituosa".
Isso é uma análise que eu acho bastante preconceituosa. Desde quando narrar uma determinada situação que está vinculada ao crime faz de você um apologista daquela situação?
Ela também já voltou atrás em algumas opiniões.
Em 2020, o público no Twitter resgatou uma postagem sua criticando Guilherme Boulos em 2016 por participar de um protesto contra a PEC da Reforma da Previdência que acabou com os manifestantes atirando fogos de artifício em direção ao prédio da Fiesp.
A Folha vai manter o Guilherme Boulos entre seus colunistas? Uma coisa é pluralismo. Outra é banditismo puro e simples.
Em entrevista a Splash, a jornalista disse que exagerou:
"Eu nem lembrava desse tuíte, deve ter sido um daqueles que você faz num arroubo. Eu não considero uma peça jornalística. Naquela ocasião, achei que o Boulos estava usando o fato de ser colunista para minimizar uma conduta criminosa do MTST."
A jornalista completa dizendo que tenta evitar esse tipo de reação: "Já devo ter tido outro arroubo semelhante no Twitter, todo mundo já teve. Tenho procurado medir a temperatura".
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.