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

Esse conteúdo é antigo

Menina comove vendedores com carta inocente e ajuda família a comprar casa

A carta entregue pela menina com as economias da mesada para ajudar no sonho da casa própria - Reprodução/Facebook
A carta entregue pela menina com as economias da mesada para ajudar no sonho da casa própria Imagem: Reprodução/Facebook

Colaboração para o UOL, em São Paulo

26/01/2021 12h48

Uma menina de dez anos ajudou a família dela a comprar uma casa, após juntar suas economias e entregar para os pais uma cartinha carinhosa com o dinheiro, na inocente intenção de ajudá-los a lidar com a alta dos preços na cidade de Sydney, na Austrália.

A família Touzel estava morando de aluguel desde que se mudou para Sydney, em janeiro do ano ado. Contudo, nesse período o mercado imobiliário entrou em alta e a procura de uma casa própria para os pais criarem duas crianças estava complicada.

"Em nossa região, as casas só permaneciam no mercado por 8 a 10 dias e as ofertas geralmente eram aceitas na primeira casa aberta", escreveu Bec Touzel, mãe da família.

Acompanhando de perto a angústia dos pais para conseguir uma casa em um preço ível, a menina de dez anos resolveu agir. Ela juntou AU$ 11,75 (equivalente a R$ 49) e colocou o dinheiro em uma cartinha, pedindo para os pais não o devolverem e usarem para a compra da casa.

Bec relatou a história no grupo "The Kindness Pandeminc" (A Pandemia Bondosa, em tradução livre), onde confessou que já estava ficando "muito desanimada" com as chances de comprar uma casa, ainda mais tendo em vista que o contrato de aluguel estava prestes a expirar.

Ela ainda revelou que a filha acompanhava a acompanhava nos encontros com corretores para ver imóveis, e que a cartinha veio justamente após elas visitarem uma casa que a menina adorou, mas estava com valor um pouco acima do que a família poderia arcar.

Mesmo assim, eles decidiram fazer uma oferta para o proprietário e a mãe teve a ideia de usar a carta inocente da filha como trunfo para persuadi-lo no negócio. "Achei muito bonita [a carta] e enviei com a nossa oferta", escreveu Bec.

A ideia deu certo. Apesar de receberem ofertas mais vantajosas pelo imóvel, os vendedores foram tocados pelo bilhete da criança. "Eles disseram que têm duas filhas e se lembravam de ter procurado o primeiro lar", contou Bec.

Então, os proprietários entraram em contato com a família Touzel e, após uma curta renegociação, firmaram um acordo abaixo do valor pedido.

"Estamos em nossa bela casa nova há um mês e somos muito gratos pela generosidade que nos foi mostrada!", concluiu Bec, feliz por ter conseguido a primeira casa própria.