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

Apartamento em SP de 16m² com banheiro na cozinha gera piada (e revolta)

Do UOL, em São Paulo

22/10/2021 21h40Atualizada em 25/10/2021 09h20

Um apartamento localizado na região do Sumaré, na zona oeste de São Paulo, chamou atenção nas redes sociais por uma característica inusitada: o imóvel, de apenas 16 m², possui um banheiro dentro da cozinha - ou o inverso, dependendo do ponto de vista. O "achado" foi compartilhado pela fotógrafa Letticia Ribeiro, de 26 anos, que atualmente mora na região da rodovia Raposo Tavares e estava em busca de uma possível nova residência na capital paulista, mais próxima do trabalho.

Eu tenho uma mania de ficar olhando apartamentos para ver se acho alguma coisa e me apareceu isso. Eu fiquei um tanto quanto assustada e resolvi conversar na internet sem pretensão nenhuma. Quando acordei, tinha viralizado.

O imóvel, anunciado no site da imobiliária digital Quinto Andar, tinha o valor de aluguel mensal cotado em R$ 1.365. Além da peculiaridade de ter um banheiro e uma cozinha no mesmo ambiente, a pia do apartamento também possuía duas torneiras, uma próxima da outra. Ao UOL, Letticia disse que queria levantar um debate - e de fato conseguiu.

Eu compartilhei meio de indignação, mas pensei de trazer de uma forma cômica. Como que pode uma pessoa pensar nisso? É uma coisa meio absurda para os padrões que a gente costuma viver.

Ela conta que, após a publicação, uma série de pessoas também compartilharam anúncios "bizarros" de outros imóveis, apontando a existência de uma "bolha imobiliária".

No meu ciclo de pessoas tem muita gente compartilhando isso porque está se tornando cada vez mais comum esse tipo de apartamento. A maior parte é de São Paulo, mas depois começaram a vir de outros lugares também.

Segundo a fotógrafa, a repercussão do caso fez com que muitos corretores imobiliários fossem falar com ela para sugerir outros imóveis e até mesmo propostas de morar com outras pessoas apareceram. No entanto, ela afirma que não tem pretensão de se mudar agora.

O UOL entrou em contato com o Quinto Andar, que removeu o anúncio após a repercussão. Em nota, a empresa afirmou que ele "não cumpre os requisitos de qualidade exigidos pelas políticas da nossa plataforma".

"Estamos fazendo ajustes em nosso controle de qualidade para evitar que equívocos como esse voltem a ocorrer e reforçar nosso compromisso em oferecer aos nossos clientes a melhor experiência possível na busca de sua nova casa", finaliza o comunicado.