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

Para #sextar com samba: Alcione canta clássicos no "Botequim da Teresa"

Bruno Calixto

Colaboração para Nossa

14/05/2021 18h00

Imunizada e viralizada. Alcione postou imagens tomando as duas doses da vacina e escreveu numa rede social: "A única forma de estarmos livres do coronavírus! E repetir isso nunca é demais: Viva o SUS!".

O resultado foram mais de 100 mil curtidas e um conforto no coração dos fãs. Para matar a saudade da "Loba" da MPB, ela é a convidada do encerramento da primeira temporada do "Botequim da Teresa", onde falou sobre seu momento do dia preferido para gravar, o amor à Mangueira, a devoção a Cartola e o respeito a todas as mulheres.

"Eu gravo para as mulheres", diz Marrom, que no domingo das mães participou de uma live especial ao lado da amiga e anfitriã do programa, Teresa Cristina, que comenta:

Alcione transborda o bem. Quando ela canta com aquilo que é do que você tem de mais bonito fica mais bonito ainda"

Alcione é a convidada especial do "Botequim da Teresa" - Marcos Hermes - Marcos Hermes
Alcione é a convidada especial do "Botequim da Teresa"
Imagem: Marcos Hermes

Ode à Rainha

Aos 73 anos, Alcione é uma das mais notórias sambistas do país, recebeu as alcunhas de Rainha do Samba e Rainha do Brasil. Com mais de 30 álbuns de estúdio e nove ao vivo, vendeu ao menos oito milhões de cópias de discos pelo mundo. Não é pouca coisa.

"Sua voz tem um timbre muito potente, a voz da mulher brasileira. Não tem uma mulher no Brasil que não conheça sua voz. Abençoada. Há muito tempo você já cantava sobre relacionamento abusivo contra as mulheres. Nós todas aprendemos a confiar em você", ressaltou Teresa Cristina.

Origens à mesa

Filha de Oxóssi, o orixá que faz sincretismo com São Sebastião, considerado o rei das matas, das caças e da fartura, Marrom ilustra sua participação no programa cantando e também provando o dadinho de tapioca da chef Kátia Barbosa, o mesmo que é servido no bar que leva seu nome no Rio.

Sua comida favorita é torta de caranguejo com arroz de cuxá, "só tem no Maranhão!". A bebida que acompanha: Guaraná Jesus.

Arroz de cuxá: prato típico do Maranhão e o preferido da Marrom - Marcelo Resende/UOL - Marcelo Resende/UOL
Arroz de cuxá: prato típico do Maranhão e o preferido da Marrom
Imagem: Marcelo Resende/UOL

"Isto me lembra minha terra, o Maranhão", afirma a cantora e compositora, que tem mais de 500 músicas com sua voz. Todas gravadas nas primeiras horas do dia.

Todos os meus discos, diferente da maioria das cantoras, acredito, foram gravados pela manhã. Ainda não falei muito. Acordo e vou cantar. Sempre deu certo"

A revelação pegou Teresa Cristina de surpresa, que encerrou o episódio pedindo "Pode esperar", uma espécie de conselho musicado da Rainha.

"Alcione é uma rainha, e nós estamos vendo ela cantar, se expressar e dar suas opiniões, seu jeito de falar com as mulheres. Desde o início da sua carreira, sua música serve de aconchego, sempre entendendo estas mulheres e as colocando num lugar melhor"

Samba, série e Teresa

O "Botequim da Teresa" encerra com Alcione sua primeira temporada mas você pode conferir todos os episódios no YouTube de Nossa (e já se inscrever no canal para receber o alerta da próxima temporada, em breve!).

O programa é uma coprodução de Nossa, MOV, a plataforma de vídeo do UOL, e da 2291 Conteúdo. Ele foi gravado em janeiro seguindo todos os cuidados necessários recomendados pelas autoridades de saúde durante a gravação do programa, como testagem dos convidados e da equipe, uso de máscara, álcool em gel e distanciamento social. Metade dos convidados foi recebida de forma presencial e a outra metade no formato remoto.