Build and Deploy a Full-Stack Hotel Website with Astro & Sanity
- Astro 프로젝트에서 클라이언트 측 상호작용을 위해 React 18을 사용하며, React 19의 호환성 문제로 인해 수동 설치 및 특정 버전 고정 방식을 채택했습니다. ⚛️
- 호텔 웹사이트의 헤더와 푸터 섹션 구축을 시작하며, 특히 헤더는 상호작용성을 위해 React 컴포넌트로 구현됩니다. 🏗️
@astrojs/react 및 react, react-dom 등의 React 18 버전을 설치하고 astro.config.mjs 파일에 통합하는 상세 과정을 설명합니다. 🔌
- Tailwind CSS v4 환경에서
margin-inline: auto를 사용하여 컨테이너를 중앙 정렬하고, 반응형 디자인을 위해 특정 화면 크기에서 패딩을 조절하는 방법을 보여줍니다. 📐
- 'The Asset' 로고를 포함한 헤더의 기본 구조를 설정하고, 특정 단어에 기본 색상을 적용하는 스타일링 기법을 사용합니다. 🏷️
shadcn/ui의 버튼 및 드롭다운 메뉴 컴포넌트를 활용하여 다크 모드 토글 기능을 구현하며, inline-theme-script와 client:load 속성을 사용하여 클라이언트 측 렌더링을 처리합니다. 🌙
- React의
useState 훅을 사용하여 모바일 메뉴 버튼(햄버거 아이콘 ↔ X 아이콘)의 상태를 토글하고, Lucid React 아이콘을 활용하여 시각적 변화를 줍니다. 🍔
- 모바일 및 데스크톱 내비게이션에 공통으로 사용될 링크 데이터를 배열 형태로 관리하여 재사용성을 높입니다. 📋
- 고정 위치, 전체 높이, 특정 너비를 가진 모바일 내비게이션을 구현하고,
navigation 배열을 매핑하여 동적으로 링크를 생성하며, 전환 효과를 추가합니다. ↔️
shadcn/ui 컴포넌트(버튼, 드롭다운)의 기본 스타일을 오버라이드하여 프로젝트의 디자인 가이드라인에 맞게 커스터마이징하는 방법을 시연합니다. 🖌️
데브허브 | DEVHUB | Build and Deploy a Full-Stack Hotel Website with Astro & Sanity