Build and Deploy a Full-Stack Hotel Website with Astro & Sanity
- 호텔 예약 컴포넌트의 날짜 선택 및 인원수 조절 기능을 구현하여 완성했습니다. 🏨
- 시간대 차이로 인한 버그를 방지하기 위해 체크인/체크아웃 날짜를 UTC 자정으로 정규화하는 로직을 적용했습니다. ⏰
- 체크아웃 날짜는 체크인 날짜 이전 또는 같은 날짜를 선택할 수 없도록 비활성화하는 기능을 추가했습니다. 🚫
handleNumberChange 함수를 통해 객실 수, 성인, 어린이 인원수를 동적으로 업데이트하고 입력값을 정수로 변환 처리했습니다. 👨👩👧👦
getNumberOfDays 함수를 사용하여 체크인/체크아웃 날짜 차이를 밀리초에서 일수로 정확히 계산하고 Math.ceil로 올림 처리했습니다. 🗓️
- 객실 가격, 객실 수, 숙박 일수를 기반으로 총 가격을 계산하고, 객실 할인율을 적용하여 최종 할인 가격을 산출하는 기능을 구현했습니다. 💰
- 할인이 적용될 경우, 원래 가격에 취소선을 긋고 할인된 최종 가격을 함께 표시하는 UI 로직을 구현하여 사용자에게 명확한 정보를 제공합니다. ✨
- 다음 단계에서는 예약 기능 구현에 이어 사용자 인증(Authentication) 기능을 추가할 예정입니다. 🔑