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

'Vale Night': filme prova que as favelas vão além de violência

Linn da Quebrada, Gabriela Dias, Pedro Ottoni e Yuri Marçal em "Vale Night" - Fabio Braga/TeTo
Linn da Quebrada, Gabriela Dias, Pedro Ottoni e Yuri Marçal em 'Vale Night' Imagem: Fabio Braga/TeTo

Laysa Zanetti

De Splash, em São Paulo

16/03/2022 04h00

No roteiro original do que se tornou "Vale Night", o público acompanharia um casal de classe média, branco, com um bebê de colo. O conflito principal começaria quando a mãe resolvesse tirar um dia de spa, e o pai, amante de rock, resolvesse ir para o festival Lollapalooza, e isso resultaria na perda da criança.

Nas mãos do diretor Luis Pinheiro e do roteirista Caco Galhardo, no entanto, as coisas se transformaram e tomaram ares brasileiros. O resultado é um filme que vai além do puramente cômico, e se torna um produto do próprio tempo, que denuncia um problema sem reforçá-lo e sem perder de vista que veio, antes de tudo, para ser divertido.

Vale Night

Lançamento: 2022 Duração: 93min Pais: Brasil Status: Em cartaz Direção: Luis Pinheiro Roteiro: Ian Deitchman, Kristin Rusk Robinson (ideia original), Caco Galhardo, Renata Martins, Carla Meirelles
splash
4,0 /5
ENTENDA AS NOTAS DA REDAÇÃO

Fizemos uma análise geral de cenário, figurino, direção de arte e fotografia

A diversão é uma nota na qual propomos, que independente das notas técnicas, a produção vale ser vista

Pontos Positivos

  • Elenco introsado e personagens diversos, com dramas particulares e que não servem apenas no auxílio ao roteiro
  • Uma abordagem refrescante da vida nas comunidades, que não foca na violência e sim na vida comum

Pontos Negativos

  • O 3º ato perde força na conclusão, com um desfecho que não aproveita o potencial dramático que havia disponível

Veredito

Leve, divertido e com um elenco muito introsado e carismático, 'Vale Night' reúne comédia e drama para contar uma história que tem muitas raízes brasileiras e jamais perde de vista a relevância da mensagem social. Os clichês do gênero são bem utilizados e fazem do resultado algo conciso e ágil, apesar de algumas derrapadas.

A história ainda acompanha dois jovens. Ao invés de serem brancos da classe média, são negros e moram na periferia de São Paulo. Ela é Daiana (Gabriela Dias), que abandonou os estudos para cuidar do filho. Ele é Vini (Pedro Ottoni), um garoto tão desligado quanto simpático, que corta cabelos para ganhar dinheiro mas gosta mesmo é de dançar inho.

O filme situar os personagens em um contexto político-social mais pungente, que informa tanto sobre a história e sobre os protagonistas, não é algo decidido ao acaso.

Dentro de uma comunidade e em meio a uma população de classe baixa, a maternidade prematura ganha outros ares e torna-se um símbolo. Para cuidar do filho, Daiana é forçada a largar a escola, embora sua mãe (vivida por Tia Má) peça várias vezes e sem sucesso para que ela retome a própria vida.

As dificuldades de Daiana e, por extensão, de um Vini um tanto irresponsável, vão além da logística e do tempo necessários para cuidar de um filho, embora estes sejam fatores importantíssimos. A imaturidade, a escassez de recursos financeiros e as prioridades cruzadas também estão em jogo, e quando Daiana é convencida pela mãe a ar um fim de semana fora, na casa da avó (Neusa Borges), Vini precisa deixar para trás a pose de desligado e assumir, de verdade, a responsabilidade de pai.

O roteiro dinâmico que coloca Vini em situações despojadas, por si, é uma força a favor do filme, que nunca fica parado por muito tempo no mesmo lugar antes de partir para a confusão seguinte. Entre fraldas sujas, louças na pia e um bebê choroso, Vini encontra saídas com calma e tranquilidade, e tudo parece fluir com leveza antes de a situação ruir.

Mesmo assim, o roteiro sozinho não basta, e o filme acaba contando muito com o carisma de Pedro Ottoni para fazer a história caminhar com naturalidade.

'Vale Night' - Fabio Braga/TeTo - Fabio Braga/TeTo
Pedro Ottoni (Vini), Yuri Marçal (Linguinha) e Linn da Quebrada (Pulga) estrelam a comédia 'Vale Night'
Imagem: Fabio Braga/TeTo

O jovem ator, que recentemente apareceu na série "De Volta aos 15", da Netflix, domina as cenas com tranquilidade e com um humor que lhe parece extremamente espontâneo. Ottoni, aos poucos, desponta como um dos novos e bons nomes do humor brasileiro. E, considerando que o filme depende tanto de suas nuances e do equilíbrio entre o humor e o drama, o carioca da zona norte do Rio entrega um trabalho consideravelmente maduro — sobretudo levando em conta que é uma das primeiras grandes produções das quais ele participou.

No decorrer da história, Vini acaba saindo pela comunidade com o filho no colo, e perde o bebê em um momento de distração. O que se segue é uma sequência de ações aleatórias que colocam a criança cada vez mais longe do pai enquanto ele sai desesperado tentando consertar o seu erro — e sentindo, pela primeira vez, o peso de colocar uma criança no mundo.

Os arquétipos de uma comédia de erros, bem empregados na busca da criança executada por Vini com a ajuda de Linguinha (Yuri Marçal) e DJ Pulga (Linn da Quebrada), levam o filme a este lugar em que se torna uma espécie de caça ao tesouro. Neste sentido, a caçada é divertida, ainda que recheada de clichês que povoam filmes do gênero. E, aqui, vale ressaltar: quando bem aproveitados, os clichês podem ser ótimos recursos narrativos.

Apesar do tom cômico da caçada, o desespero de Vini para achar a criança (e fazer isso antes de Daiana descobrir o que aconteceu) vai crescendo aos poucos, até que o filme chega ao seu clímax emocional na construção deste personagem.

'Vale Night' - Fabio Braga/TeTo - Fabio Braga/TeTo
Gabriela Dias interpreta a jovem Daiana em 'Vale Night', mãe aos 18 que abandona a escola para cuidar do filho
Imagem: Fabio Braga/TeTo

É neste sentido que "Vale Night" cruza o caminho e vai além do óbvio. A comédia é divertida e competente, mas o filme cresce nos detalhes, que estão nas construções familiares, nas redes de apoio que aqueles personagens têm e em como coexistem com os lugares onde moram. Daiana, criada pela mãe, tem uma família formada majoritariamente por mulheres; Vini parece ser um rapaz solitário, já que pai ou mãe não estão na história.

Para falarmos de famílias brasileiras, essas heranças importam. E a história entende isso muito bem.

Ao situar um filme definido como comédia romântica em uma comunidade, sem armas, sem tráfico e sem violência, há uma declaração social e política importante sendo feita, a respeito da importância das vozes plurais no cinema e no audiovisual.

Sob esta mesma ótica, "Vale Night" jamais perde de vista a relevância de uma mensagem social na história, e faz isso sem deixar que a moral assuma o protagonismo e fique excessiva. Há uma diminuição do ritmo e do impacto na conclusão do terceiro arco, mas isso jamais faz com que a história perca sua força. No fim das contas, é um filme leve, divertido e muito consciente do papel da comédia dentro dos debates mais sérios.