Estate - это Next.js приложение для просмотра списка недвижимости с поддержкой мультивалютности.
Установите зависимости с помощью npm или bun:
npm install //bun installЗапустите приложение в режиме разработки:
npm run dev //bun devДля сборки приложения выполните:
npm run build //bun run buildДля запуска продакшн-версии:
npm run start //bun run startПриложение будет доступно по адресу http://localhost:3000
Основное требование - поддержка мультивалютности с переключением без мерцания в SSR рендере. Есть разные пути для решения этой задачи, от отображения дефолтного значения, и после гидрации смена значения на пользовательское, до прелодера с последующем выводом. Мне же хотелось сохранить отображение цены для SSR, чтоб поисковые роботы получали полную информацию. Я использовал сохранение валюты в cookie для сервера. В итоге мы имеем запрос на список недвижимости, на список валют и текущую выбранную валюту. В текущем виде мы получаем полную пререндеренную на сервере страницу с выбранной валютой (по умолчанию в батах), и переключение валюты на клиенте без мерцания.