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

Caixa vira arma eleitoral de Bolsonaro após caso Pedro Guimarães esfriar

Presidente Jair Bolsonaro no almoço de lançamento do programa "Caixa pra elas" - Clauber Cleber Caetano/PR
Presidente Jair Bolsonaro no almoço de lançamento do programa "Caixa pra elas" Imagem: Clauber Cleber Caetano/PR

Do UOL, em Brasília

22/08/2022 04h00

A pouco mais de um mês das eleições, a Secom (Secretaria de Comunicação) do governo tem mobilizado equipes ministeriais para usar a Caixa Econômica Federal como arma eleitoral para o presidente Jair Bolsonaro (PL), e candidato à reeleição.

A estratégia leva em conta o esfriamento da crise causada pelas denúncias de assédio sexual e moral contra o então presidente do banco, Pedro Guimarães

Qual é a ação da Secom? Assessores da Secretaria da Comunicação e de ministérios alinharam postagens para os perfis das pastas na internet. As publicações deviam ter "expressões-chave", como "o Auxílio Brasil é permanente" e "Auxílio de R$ 600".

Após uma reunião no começo do mês entre a Secom e integrantes desses núcleos do governo para explicar o planejamento, foi solicitado que as pastas deveriam focar também no programa "Caixa para elas". Ministérios usaram as redes sociais para falar sobre o benefício:

O que é esse projeto? Lançado no dia 9 de agosto, o programa é um espaço exclusivo de atendimento e oferecimento de produtos financeiros para mulheres. A ação de divulgação mira duas frentes:

  1. Uma força-tarefa dos ministros em visitas às agências do banco em São Paulo;
  2. Turbinar as redes sociais dos ministérios com material sobre o Auxílio Brasil.

O Ministério da Cidadania também deu e às outras pastas com técnicos para tirar dúvidas sobre o material que dever ser divulgado — já que alguns ministérios não têm tanta proximidade com o tema.

Quem é o público-alvo? Com ascensão de Daniella Marques ao comando da estatal no lugar de Guimarães, a equipe que toca a campanha tenta aproximar Bolsonaro do eleitorado feminino — por meio de valores como o "empreendedorismo" e o planejamento familiar.

Aliados do governo ouvidos reservadamente pela reportagem dizem que o reposicionamento de imagem da Caixa mirando as eleições de Bolsonaro é "algo natural" e que a expectativa é de "um resultado positivo" até outubro. O "Caixa para elas" é a grande aposta do Executivo dentro desse processo.

Por que a Caixa? A visibilidade que a Caixa Econômica Federal teve nos últimos anos, sobretudo pela operacionalização no pagamento de auxílios, já era vista pelos auxiliares de Bolsonaro como um trunfo na mão da equipe publicitária do governo.

O presidente chegou a levar Pedro Guimarães, à época em que comandava o banco, a várias viagens pelo Brasil, em ritmo de campanha eleitoral. O ex-presidente da Caixa tinha o hábito de discursar no mesmo palanque do chefe e era bem avaliado pelo Planalto.

Procurada pelo UOL, a Caixa informou que "tem o propósito institucional de tratar de frente esse problema social, por meio da força da sua rede e de ações concretas implementadas em todo o país no Caixa pra elas".

O banco citou ainda dados de violência doméstica registrados no país e informou que firmou "protocolo de intenções com o Ministério da Justiça e Segurança Pública e com representantes de 16 organizações e empresas" sobre o tema.

A Secom não respondeu ao pedido de posicionamento até a publicação desta reportagem. O UOL também questionou o Ministério da Cidadania, mas não houve resposta.