Турция и Москва · фактыTurkey & Moscow

Фильтры в адресе страницы и клик без потерьFilters in the address, no lost clicks

· Открыть на сайтеOpen on the site

ЦельGoal

Инвестор настраивает отбор под свой бюджет, открывает проекты, возвращается, обновляет страницу или пересылает ссылку — и каждый раз видит тот же отбор. Это сценарий «Бюджет» и вторая часть цели сайта — удобно фильтровать.An investor sets up a selection for their budget, opens projects, comes back, reloads the page or sends the link — and sees the same selection every time. This is the «Budget» scenario and the second part of the site's goal — easy filtering.

ЗадачаProblem

Фильтры жили только в открытой вкладке: адрес оставался /lots/. После обновления страницы отбор сбрасывался (231 юнит вместо 32), ссылку на свой отбор нельзя было ни сохранить, ни переслать. Нашлась и ошибка: если ввести цену и сразу нажать на карточку проекта, первый клик терялся — открывалось только со второго. Причина: при каждом пересчёте фильтров все карточки заново вставлялись в список, и браузер не засчитывал клик по «переставленной» карточке.Filters lived only in the open tab: the address stayed /lots/. A reload reset the selection (231 units instead of 32), and a link to one's selection could be neither saved nor sent. There was also a bug: type a price and click a project card right away, and the first click was lost — it only opened on the second. Cause: every filter run re-inserted all cards into the list, and the browser did not count a click on a «moved» card.

Как решилиHow it was solved

До и послеBefore and after

До: после обновления страницы фильтры сброшены / Before: after a reload the filters are gone
До: после обновления страницы фильтры сброшеныBefore: after a reload the filters are gone
После: адрес хранит отбор — он тот же после обновления / After: the address keeps the selection — the same after a reload
После: адрес хранит отбор — он тот же после обновленияAfter: the address keeps the selection — the same after a reload