mycrib24 / listings.html
mfezeko's picture
cities must be cape town base lik university of western cape, cape town, cput, and the reviews change the cties there also - Follow Up Deployment
235291e verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>StudentStay - Browse Accommodation Listings</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<style>
.property-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.map-container {
height: 100%;
min-height: 400px;
}
[type='checkbox']:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
</style>
</head>
<body class="bg-gray-50">
<!-- Navigation -->
<nav class="bg-white shadow-sm">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<a href="index.html" class="flex items-center">
<i data-feather="home" class="text-blue-500 mr-2"></i>
<span class="text-xl font-bold text-blue-600">StudentStay</span>
</a>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="index.html" class="text-gray-600 hover:text-blue-600">Home</a>
<a href="#" class="text-blue-600 font-medium">Listings</a>
<a href="landlord.html" class="text-gray-600 hover:text-blue-600">For Landlords</a>
<a href="about.html" class="text-gray-600 hover:text-blue-600">About</a>
</div>
<div class="flex items-center space-x-4">
<a href="login.html" class="px-4 py-2 rounded-md text-blue-600 border border-blue-600 hover:bg-blue-50">Log In</a>
<a href="signup.html" class="px-4 py-2 rounded-md bg-blue-600 text-white hover:bg-blue-700">Sign Up</a>
<button class="md:hidden text-gray-600">
<i data-feather="menu"></i>
</button>
</div>
</div>
</div>
</nav>
<!-- Main Content -->
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="flex flex-col md:flex-row gap-8">
<!-- Filters Sidebar -->
<div class="w-full md:w-1/4">
<div class="bg-white p-6 rounded-lg shadow-sm sticky top-4">
<h3 class="text-lg font-semibold mb-4">Filters</h3>
<!-- Location Filter -->
<div class="mb-6">
<label for="location-filter" class="block text-sm font-medium text-gray-700 mb-2">Location</label>
<input type="text" id="location-filter" placeholder="University or area" class="w-full p-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Price Range -->
<div class="mb-6">
<label class="block text-sm font-medium text-gray-700 mb-2">Price Range</label>
<div class="flex items-center space-x-2">
<input type="number" placeholder="Min" class="w-1/2 p-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
<span class="text-gray-500">to</span>
<input type="number" placeholder="Max" class="w-1/2 p-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<input type="range" class="w-full mt-2" min="300" max="1500" step="50">
</div>
<!-- Room Type -->
<div class="mb-6">
<label class="block text-sm font-medium text-gray-700 mb-2">Room Type</label>
<div class="space-y-2">
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Private Room</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Shared Room</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Entire Apartment</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Hostel</span>
</label>
</div>
</div>
<!-- Amenities -->
<div class="mb-6">
<label class="block text-sm font-medium text-gray-700 mb-2">Amenities</label>
<div class="space-y-2">
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Wi-Fi</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Laundry</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Kitchen</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Parking</span>
</label>
<label class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2 text-sm text-gray-700">Furnished</span>
</label>
</div>
</div>
<button class="w-full bg-blue-600 text-white py-2 rounded-md hover:bg-blue-700 transition-colors">Apply Filters</button>
</div>
</div>
<!-- Listings Grid -->
<div class="w-full md:w-3/4">
<div class="flex justify-between items-center mb-6">
<h2 class="text-2xl font-bold text-gray-900">124 Student Accommodations Available</h2>
<div class="flex items-center">
<span class="text-sm text-gray-600 mr-2">Sort by:</span>
<select class="border border-gray-300 rounded-md px-3 py-1 text-sm focus:ring-blue-500 focus:border-blue-500">
<option>Recommended</option>
<option>Price: Low to High</option>
<option>Price: High to Low</option>
<option>Distance to Campus</option>
<option>Newest Listings</option>
</select>
</div>
</div>
<!-- Map View / List View Toggle -->
<div class="mb-6 flex justify-end">
<div class="inline-flex rounded-md shadow-sm" role="group">
<button type="button" class="px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-l-lg hover:bg-blue-700 focus:z-10 focus:ring-2 focus:ring-blue-500">
<i data-feather="list" class="inline mr-1 w-4 h-4"></i> List View
</button>
<button type="button" class="px-4 py-2 text-sm font-medium text-gray-700 bg-white rounded-r-md hover:bg-gray-50 focus:z-10 focus:ring-2 focus:ring-blue-500">
<i data-feather="map" class="inline mr-1 w-4 h-4"></i> Map View
</button>
</div>
</div>
<!-- Actual Listings -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
<!-- Listing 1 -->
<a href="property.html?id=1" class="property-card transition-all duration-300 ease-in-out">
<div class="bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg">
<div class="relative pb-2/3 h-48">
<img src="https://images.unsplash.com/photo-1560448070-847cb1d99d26" alt="Modern Apartment" class="absolute h-full w-full object-cover">
<div class="absolute top-2 right-2 bg-white px-2 py-1 rounded-full text-sm font-medium">R8,500/mo</div>
<button class="absolute top-2 left-2 bg-white p-2 rounded-full hover:bg-gray-100">
<i data-feather="heart" class="w-4 h-4 text-gray-600"></i>
</button>
</div>
<div class="p-6">
<h3 class="text-xl font-semibold text-gray-900 mb-2">Modern Campus Apartment</h3>
<p class="text-gray-600 mb-4"><i data-feather="map-pin" class="inline mr-1 w-4 h-4"></i> 0.8km from University of Western Cape</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Private</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Wi-Fi</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Furnished</span>
</div>
<div class="flex justify-between items-center">
<span class="text-sm text-gray-500">Available from August 2023</span>
<button class="text-blue-600 hover:text-blue-800 text-sm font-medium">View Details</button>
</div>
</div>
</div>
</a>
<!-- Listing 2 -->
<a href="property.html?id=2" class="property-card transition-all duration-300 ease-in-out">
<div class="bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg">
<div class="relative pb-2/3 h-48">
<img src="https://images.unsplash.com/photo-1600585154340-be6161a56a0c" alt="Shared House" class="absolute h-full w-full object-cover">
<div class="absolute top-2 right-2 bg-white px-2 py-1 rounded-full text-sm font-medium">R6,000/mo</div>
<button class="absolute top-2 left-2 bg-white p-2 rounded-full hover:bg-gray-100">
<i data-feather="heart" class="w-4 h-4 text-gray-600"></i>
</button>
</div>
<div class="p-6">
<h3 class="text-xl font-semibold text-gray-900 mb-2">Cozy Shared House</h3>
<p class="text-gray-600 mb-4"><i data-feather="map-pin" class="inline mr-1 w-4 h-4"></i> 1.5km from Cape Peninsula University of Technology</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Shared</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Laundry</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Kitchen</span>
</div>
<div class="flex justify-between items-center">
<span class="text-sm text-gray-500">Available now</span>
<button class="text-blue-600 hover:text-blue-800 text-sm font-medium">View Details</button>
</div>
</div>
</div>
</a>
<!-- Listing 3 -->
<a href="property.html?id=3" class="property-card transition-all duration-300 ease-in-out">
<div class="bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg">
<div class="relative pb-2/3 h-48">
<img src="https://images.unsplash.com/photo-1580587771525-78b9dba3b914" alt="Private Room" class="absolute h-full w-full object-cover">
<div class="absolute top-2 right-2 bg-white px-2 py-1 rounded-full text-sm font-medium">R7,000/mo</div>
<button class="absolute top-2 left-2 bg-white p-2 rounded-full hover:bg-gray-100">
<i data-feather="heart" class="w-4 h-4 text-gray-600"></i>
</button>
</div>
<div class="p-6">
<h3 class="text-xl font-semibold text-gray-900 mb-2">Private Room in Townhouse</h3>
<p class="text-gray-600 mb-4"><i data-feather="map-pin" class="inline mr-1 w-4 h-4"></i> 1km from University of Cape Town</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Private</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Parking</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Garden</span>
</div>
<div class="flex justify-between items-center">
<span class="text-sm text-gray-500">Available from September 2023</span>
<button class="text-blue-600 hover:text-blue-800 text-sm font-medium">View Details</button>
</div>
</div>
</div>
</a>
<!-- Listing 4 -->
<a href="property.html?id=4" class="property-card transition-all duration-300 ease-in-out">
<div class="bg-white rounded-lg overflow-hidden shadow-md hover:shadow-lg">
<div class="relative pb-2/3 h-48">
<img src="https://images.unsplash.com/photo-1505691938895-1758d7feb511" alt="Hostel Room" class="absolute h-full w-full object-cover">
<div class="absolute top-2 right-2 bg-white px-2 py-1 rounded-full text-sm font-medium">R4,500/mo</div>
<button class="absolute top-2 left-2 bg-white p-2 rounded-full hover:bg-gray-100">
<i data-feather="heart" class="w-4 h-4 text-gray-600"></i>
</button>
</div>
<div class="p-6">
<h3 class="text-xl font-semibold text-gray-900 mb-2">Campus Hostel Room</h3>
<p class="text-gray-600 mb-4"><i data-feather="map-pin" class="inline mr-1 w-4 h-4"></i> On-campus, Cape Peninsula University of Technology</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Shared</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Wi-Fi</span>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Cafeteria</span>
</div>
<div class="flex justify-between items-center">
<span class="text-sm text-gray-500">Available now</span>
<button class="text-blue-600 hover:text-blue-800 text-sm font-medium">View Details</button>
</div>
</div>
</div>
</a>
</div>
<!-- Pagination -->
<div class="mt-10 flex justify-center">
<nav class="inline-flex rounded-md shadow">
<a href="#" class="px-3 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">Previous</a>
<a href="#" class="px-3 py-2 border-t border-b border-gray-300 bg-white text-sm font-medium text-blue-600 hover:bg-blue-50">1</a>
<a href="#" class="px-3 py-2 border-t border-b border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-blue-50">2</a>
<a href="#" class="px-3 py-2 border-t border-b border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-blue-50">3</a>
<a href="#" class="px-3 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">Next</a>
</nav>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="bg-gray-900 text-white pt-16 pb-8">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<h3 class="text-lg font-semibold mb-4">StudentStay</h3>
<p class="text-gray-400">Helping students find safe, affordable housing near their campuses since 2020.</p>
</div>
<div>
<h3 class="text-lg font-semibold mb-4">Quick Links</h3>
<ul class="space-y-2">
<li><a href="index.html" class="text-gray-400 hover:text-white">Home</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Listings</a></li>
<li><a href="about.html" class="text-gray-400 hover:text-white">About Us</a></li>
<li><a href="faq.html" class="text-gray-400 hover:text-white">FAQ</a></li>
</ul>
</div>
<div>
<h3 class="text-lg font-semibold mb-4">For Students</h3>
<ul class="space-y-2">
<li><a href="login.html" class="text-gray-400 hover:text-white">Log In</a></li>
<li><a href="signup.html" class="text-gray-400 hover:text-white">Sign Up</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Safety Tips</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Moving Checklist</a></li>
</ul>
</div>
<div>
<h3 class="text-lg font-semibold mb-4">Contact Us</h3>
<address class="not-italic text-gray-400">
<p>123 Campus Road</p>
<p>Cape Town, South Africa</p>
<p class="mt-2"><i data-feather="mail" class="inline mr-2 w-4 h-4"></i> hello@studentstay.com</p>
<p><i data-feather="phone" class="inline mr-2 w-4 h-4"></i> +44 123 456 7890</p>
</address>
<div class="flex space-x-4 mt-4">
<a href="#" class="text-gray-400 hover:text-white"><i data-feather="facebook" class="w-5 h-5"></i></a>
<a href="#" class="text-gray-400 hover:text-white"><i data-feather="twitter" class="w-5 h-5"></i></a>
<a href="#" class="text-gray-400 hover:text-white"><i data-feather="instagram" class="w-5 h-5"></i></a>
</div>
</div>
</div>
<div class="border-t border-gray-800 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-400 text-sm">© 2023 StudentStay. All rights reserved.</p>
<div class="flex space-x-6 mt-4 md:mt-0">
<a href="#" class="text-gray-400 hover:text-white text-sm">Privacy Policy</a>
<a href="#" class="text-gray-400 hover:text-white text-sm">Terms of Service</a>
<a href="#" class="text-gray-400 hover:text-white text-sm">Cookies</a>
</div>
</div>
</div>
</footer>
<script>
AOS.init();
feather.replace();
// Would connect to map API for the map view functionality
// Would implement filter functionality with JavaScript
</script>
</body>
</html>