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

Sitiados, moradores de Miami Beach enfrentam invasão turística

Avenida da praia, em Miami, durante a noite - Buena Vista Images/Getty Images
Avenida da praia, em Miami, durante a noite Imagem: Buena Vista Images/Getty Images

24/03/2021 17h05

Nem tudo está fora de controle em Miami Beach. A poucos quarteirões dos milhares de turistas americanos que forçaram o estado de emergência, os moradores fazem ioga na praia ao amanhecer e recolhem o lixo deixado pelos visitantes.

"Foram dias difíceis com as férias de primavera", diz Radha Silva, a instrutora. "Como residentes, somos cautelosos e preferimos nos afastar e ir para a praia bem cedo pela manhã."

Nos 10 anos que mora em Miami Beach, essa "iogue" brasileira de 49 anos nunca viu tanta gente. "Acho que é por causa da pandemia, ou seja o que for que as pessoas estão ando."

Todo mês de março, essa pequena ilha do sul da Flórida é destino de milhares de turistas, principalmente estudantes, que vêm de todo o país em busca de clima quente e vida noturna.

Neste ano, a cidade foi inundada por um número incomum de turistas após um ano de tristeza e privação. Eles dançam seminus nos tetos dos carros enquanto am as garrafas de mão em mão, celebrando o que equivocadamente percebem como o fim da pandemia, muitas vezes com brigas e tiros para o alto.

"Você está aqui curtindo a praia, sabe, é uma boa vibração", diz Joseph, um jovem turista de Nova Jersey. "Acabou o Corona, acabou o inverno, vacine-se, volte ao normal."

No entanto, as "boas vibrações" saíram do controle e, desde fevereiro, a polícia confiscou 80 armas e fez mais de 1.000 prisões, cerca de 400 delas por crimes graves.

Além disso, na segunda-feira, foi registrada a prisão de dois homens por drogar e estuprar uma mulher, que mais tarde foi encontrada morta em seu quarto de hotel.

Miami - Getty Images - Getty Images
Agitação toma conta das ruas de Miami durante feraido de primavera
Imagem: Getty Images

Sitiados em sua cidade

Em resposta, as autoridades impam um toque de recolher aos fins de semana nas ruas mais turísticas, que valerá até meados de abril, e ordenaram o fechamento das três pontes que ligam a ilha a Miami durante a noite.

Mas a apenas alguns quarteirões das festas na Ocean Drive, Miami Beach é um bairro tranquilo de classe trabalhadora, com habitantes de todo o mundo.

Muitos moradores são funcionários de restaurantes e hotéis e pedalam suas bicicletas ao ritmo preguiçoso da praia e do calor.

Eles costumam fazer compras em feiras de bairro que vendem de tudo, desde empanadas argentinas a "janelinhas" cubanas onde se serve café coado por vendedores falam uma mistura de italiano, inglês e espanhol.

Portanto, a situação atual é frustrante para muitos. No final da tarde, Sophie Ringel caminha pela praia recolhendo resíduos que a cidade não consegue remover apesar de limpar duas vezes ao dia.

"Não gosto de catar o lixo alheio", diz a contadora e ambientalista alemã de 36 anos. "Mas deixá-lo na mata é ainda pior." "Os veranistas estão destruindo nossa cidade em muitos níveis, é um desastre completo", disse ele à AFP.

"O toque de recolher e as restrições afetam nossa vida diária como residentes", acrescenta ela, "e me sinto insegura em minha própria cidade". Seu grupo, o Clean Miami Beach, recolheu 10.000 kg de lixo das praias desde que foi fundado em 2019.

O problema é que, embora muitos temam o quão incontrolável a multidão se tornou, eles também dependem do turismo para sobreviver.

Tania Dean, uma barista inglesa que está em Miami Beach há 21 anos, ite que atualmente tem medo de ear com o cachorro à noite, mas acredita que recorrer à repressão policial "é como esvaziar o oceano com uma colher". "Amo turistas. Eles pagam minhas contas", diz.

"É muito fácil colocar o turista no papel de vilão, mas não é ele o problema, o problema é a prefeitura".