-
Notifications
You must be signed in to change notification settings - Fork 76
Closed
Labels
Description
🏡 Issue: Property Detail Page and Property Components
🎯 Objectives
- Implement the full Property Detail page with key interactive components.
- Enhance core property-related components for improved UX and integration readiness.
🔍 Technical Steps
Property Detail Page
- Develop an image gallery with smooth navigation/swiping.
- Render complete property information:
- Description (expandable if long).
- Amenities list.
- Policies (cancellation, deposits).
- Exact location with embedded map (Mapbox or Google Maps).
- Integrate a real-time availability calendar allowing date selection.
- Add a prominent "Book Now" button styled in blue (#4A90E2).
- Prepare a Reviews Section placeholder for future on-chain reviews.
Property Components
- PropertyCard:
- Optimize images for fast loading (use Next.js Image component).
- Show key info: title, price, location, availability status.
- Add visual availability states (available, limited, booked).
- PropertyDetail:
- Include gallery, expandable description, map.
- Calendar Component:
- Allow date selection.
- Display availability in real-time.
- ReviewsSection:
- Static placeholder text for now.
- Prepare for future on-chain review integration.
✅ Acceptance Criteria
Functionality
- Image gallery supports swipe/arrow navigation.
- All property details dynamically rendered.
- Availability calendar interacts smoothly and shows real-time status.
- "Book Now" button is clearly visible and clickable.
- PropertyCard displays availability status correctly.
- ReviewsSection displays placeholder content.
- Components are responsive and accessible.
UX/UI
- Consistent styling with platform standards.
- Expandable description for long texts.
- Use icons/badges for amenities.
- Color/font as per design system:
- Font: Quicksand
- Light mode: Background #CFF0FF, Text #182A47
- Dark mode: Background #0B1D39, Text #C2F2FF
- Smooth transitions in gallery and calendar.
- Clear visual feedback on availability status.
Code Quality
- Components modular and reusable.
- Clean, typed TypeScript code.
- Styling with TailwindCSS and no inline styles.
- Proper linting and formatting applied.
🧪 Test Scenarios
- Load property page with mock data and verify all sections.
- Test gallery navigation on desktop and mobile.
- Select dates on calendar and check UI response.
- Check availability status display on PropertyCard.
- Validate dark and light mode rendering.
- Confirm placeholder in ReviewsSection.
🌎 References
- Airbnb property page UI
- TailwindUI gallery and calendar components
- Supabase storage for images
- Mapbox/Google Maps integration docs
🔒 Security Requirements
- Sanitize all dynamic content to avoid XSS.
- Secure handling of dates and user input on calendar.
- No sensitive info hardcoded.
🛠️ Technologies Used
- Next.js
- TailwindCSS
- shadcn/ui
- next-themes
- Supabase (image URLs)
- Mapbox or Google Maps
- TypeScript
- Lucide-react icons
I’ve attached an example of the expected appearance, followed by a visual guide. This document is not purely textual, suggestions for design improvements and creative input are encouraged and appreciated.

Reactions are currently unavailable