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

Irmã de Medina, Sophia tem 15 anos e quer salvar 30% dos oceanos

Sophia Medina (foto) participa de campanha para salvar 30% dos oceanos em dez anos - Divulgação
Sophia Medina (foto) participa de campanha para salvar 30% dos oceanos em dez anos Imagem: Divulgação

Marcos Candido

De Ecoa, em São Paulo

02/03/2021 04h00

Toneladas de lixo vão para os oceanos todos os dias e a gente não sabe como ajudar a salvá-los, mas existe um grupo com grandes conhecedores do mar que pode ajudar. Eles não são capitães, nem biólogos, mas conhecem o problema de perto. São os surfistas.

A WSL, a liga mundial de surfe, está com uma campanha para salvar 30% dos oceanos até 2030. Qualquer um pode participar. Basta um abaixo-assinado criado pela organização.

Quem já está ajudando

A surfista Sophia Medina, 15, mora em Maresias, na cidade paulista de São Sebastião. Em casa e pelo mundo, ela tenta fazer a parte dela. Mas é difícil.

"Sempre tento tirar um plástico da água quando vejo, mas cada um tem que fazer sua parte. Não dá para só uma pessoa fazer o de todos, né?", diz.

No dia a dia, Sophia convence colegas de escola e amigos a salvarem o oceano.

"A gente pode começar não usando tanto plástico, materiais que prejudicam o oceano, e não jogar lixo na praia, na rua", diz a surfista para Ecoa. "O nosso futuro depende disso."

Sophia, irmã do bicampeão mundial de surf Gabriel Medina, faz parte da campanha da WSL. Junto a ela estão grandes nomes do esporte, como Ítalo Ferreira, campeão do circuito internacional de surf em 2019.

O problema já é gritante nas praias. "Eu vejo todo tipo de lixo que você pode imaginar e é muito doloroso ver que aumenta a cada dia", explica Ítalo. "São raros os lugares no mundo onde não tem lixo".

O futuro dos oceanos

Segundo a ONU, mais de 3 bilhões de pessoas dependem diretamente do oceano. Além disso, é ele que absorve cerca de 30% do monóxido de carbono lançado pelos humanos na atmosfera e ajuda a reduzir os efeitos já visíveis do aquecimento global.

A instituição calcula que são consumidas 5 trilhões de garrafas plásticas descartáveis no mundo anualmente. Dados divulgados no Fórum Econômico Mundial de Davos em 2016 já apontavam uma estimativa de que em 2050 os oceanos terão mais plástico que peixes.

O que posso fazer no dia a dia?

Ítalo dá dicas sobre como cada um de nós pode fazer a sua parte. "As pessoas às vezes pensam que precisam fazer muito para cuidar da natureza, dos oceanos, mas são atitudes simples no dia a dia", diz. "Por exemplo, reciclar lixo, que vai acabar não indo para o mar, recolher seu lixo na praia e até dos outros. O importante é não deixar lixo que possa ser levado pro mar. São toneladas que destroem todo um ecossistema."

Como o abaixo-assinado vai ajudar?

As s da WSL serão apresentadas na Convenção sobre Diversidade Biológica de 2021 da ONU. O evento das Nações Unidas acontece no dia 17 de maio de 2021 em Kunming, na China.

A WSL defende um acordo internacional para a criação de Áreas Marinhas Protegidas (AMPs), onde a atividade humana seria proibida. Com isso, é possível salvar 30% e cuidar dos outros 70% dos oceanos até 2030. O Brasil faz parte da convenção das Nações Unidas criada em 1992.

Além das s, a liga de surfistas preparou um modelo de e-mail para ser enviado aos representantes de cada país. "A intenção é que todas essas ações em conjunto criem em uma só voz para exigir a proteção do oceano para futuras gerações", explica Ivan Martinho, CEO da WSL na América Latina.

Como ajudar

Basta ar a página da campanha da WSL chamada "We are one ocean" (Somos um só oceano) e a petição. No endereço também há o e-mail pronto para pressionar os representantes brasileiros.