;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Filho de Maurício de Sousa compra online peça de R$ 14 mil e recebe areia

Marcela Schiavon

Colaboração para o UOL, de Santo André

18/07/2022 21h00

Maurício Takeda e Sousa, 34, filho do desenhista Maurício de Sousa, comprou uma placa de vídeo de R$ 14,5 mil no site da Amazon e se surpreendeu ao receber, 24 horas depois, um pacote contendo apenas potes cheios de areia. "Sou uma pessoa calma, mas fiquei em choque", afirmou.

A encomenda, vendida e transportada pela própria Amazon, foi feita em 2 de julho. Em vídeo publicado no TikTok, a vítima registrou o ocorrido. O conteúdo já foi visto 2,6 milhões de vezes.

De acordo com Maurício, no mesmo dia, ele entrou em contato com a empresa, mas ainda não houve solução para o caso. Ele relata que, ao pegar a caixa, sentiu que a distribuição do peso estava diferente e, por isso, pediu para sua esposa registrar o momento da abertura do pacote. Além disso, a embalagem, apesar de lacrada, estava muito amassada.

"Sempre gravo os vídeos quando são produtos de alto valor por segurança. Tinha medo de levar um golpe ou algo assim, mas nunca imaginei que fosse acontecer comigo", conta.

@maurisousa_ Comprei uma placa de vídeo e recebi potes de areia da @amazon ? som original - MauriSousa_

A esposa de Maurício ficou tão em choque que não conseguia parar de chorar. Maurício decidiu registrar a reclamação em sites especializados, abrir um B.O. (Boletim de Ocorrência) e entrar com uma ação judicial de pequenas causas contra a empresa.

O segundo vídeo do caso foi feito para alertar as pessoas sobre possíveis golpes e para recomendar que elas tenham cuidado e gravem quando encomendarem algo de valor.

 Segurança: Maurício também publicou os vídeos para que as pessoas façam o mesmo quando comprarem algo de valor alto - Acervo Pessoal - Acervo Pessoal
Segurança: Maurício também publicou os vídeos para que as pessoas façam o mesmo quando comprarem algo de valor alto
Imagem: Acervo Pessoal

Apesar de a entrega falsa ter ocorrido antes do período de promoções da multinacional, o Prime Day, Maurício conseguiu um preço mais baixo que o comum. "Por isso, em vez de pedir reembolso ou produto equivalente, como consta no Artigo 35 do Código de Defesa do Consumidor, eu exigi o cumprimento do que foi vendido: a minha placa de vídeo". Além disso, ele diz que a loja tinha estoque, e o preço foi aumentando ao longo do tempo.

O UOL entrou em contato com a Amazon para saber as providências tomadas sobre o caso. A empresa informou que "a Amazon.com.br está em contato com o cliente para solucionar o caso. A Amazon possui uma política de devolução e reembolso que protege os clientes que desejam retornar produtos adquiridos em Amazon.com.br".