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

Grécia aposta em seu 'sucesso' contra coronavírus para atrair turistas

Menos afetada que outros países europeus, a Grécia possui, até o momento, 175 mortes e cerca de 3.000 casos de coronavírus - iStockphotos/Getty Images
Menos afetada que outros países europeus, a Grécia possui, até o momento, 175 mortes e cerca de 3.000 casos de coronavírus Imagem: iStockphotos/Getty Images

Da AFP

04/06/2020 15h36

O governo grego, satisfeito com o "sucesso" de sua batalha contra o coronavírus, aposta agora em reconquistar turistas apesar da conjuntura incerta.

Menos afetada que outros países europeus, a Grécia possui, até o momento, 175 mortes e cerca de 3.000 casos de coronavírus, resultado do qual o governo conservador, após um ano no poder, tenta tirar proveito, minimizando as repercussões da profunda recessão iminente.

Sob o lema "Estamos abertos e os esperamos", a temporada turística 2020 começa oficialmente em 15 de junho, dois meses mais tarde do que o habitual.

As autoridades tomaram todas as medidas adequadas para garantir a saúde pública na próxima temporada de verão, "muito diferente" das anteriores, afirmou o porta-voz do governo Stelios Petsas.

Na reabertura das escolas primárias no início da semana, o primeiro-ministro elogiou a "eficácia" do executivo durante o rigoroso confinamento do país, entre 23 de março e 4 de maio.

Também destacou a "responsabilidade" e o "sangue frio" dos gregos, que respeitaram as proibições de circulação sob pena de multas graves.

Funcionários do governo e meios de comunicação falam constantemente do "sucesso" na gestão da crise.

- Medo de uma propagação -A partir de 15 de junho, os dois principais aeroportos, em Atenas e Tessalônica, estão autorizados a receber visitantes de mais de trinta países, em sua maioria da União Europeia, os principais clientes do país.

A abertura dos aeroportos regionais está prevista para 1º de julho.

A lista de 29 países divulgada originalmente na sexta ada pelo Ministério do Turismo, excluindo os países europeus mais afetados pela COVID-19, aumentou em 24 horas, permitindo agora voos da França, Espanha, Itália e Reino Unido.

Sob a pressão dos profissionais de turismo, o governo grego busca garantir a recuperação do principal setor da economia do país, responsável por cerca de 20% do Produto Interno Bruto (PIB).

Uma nova manifestação dos trabalhadores do setor turístico ocorreu em Atenas nesta quinta-feira (04) pedindo mais ajuda pública para os desempregados.

A principal preocupação das autoridades neste momento é o risco de propagação do vírus com a chegada dos turistas. São planejados para os visitantes apenas testes aleatórios, exceto aqueles de regiões mais afetadas pela pandemia, que deverão ar por rigorosas medidas de quarentena.

No entanto, em um país de quase 11 milhões de habitantes, que todo verão recebe milhões de turistas em suas ilhas e seu continente, os temores são claros.

O porta-voz do governo Stelios Petsas pediu "vigilância" e enfatizou que "a responsabilidade individual e a maturidade coletiva são nossa bússola para o retorno à normalidade".

Os protocolos de higiene são adaptados diariamente aos "dados epidemiológicos", afirma o governo.