proptech-connect-hub / properties.html
buddyplease's picture
fix errors and any bugs, Fix Functionality and responsiveness make it full stacked and miulti page. Add colors royal blue.
19ed353 verified
Raw History Blame Contribute Delete
9.19 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Browse Properties - PropTech Connect</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body { font-family: 'Inter', sans-serif; }
.property-card { transition: all 0.3s ease; }
.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); }
</style>
</head>
<body class="bg-gray-50">
<!-- Navigation -->
<nav class="bg-white shadow-lg sticky top-0 z-50">
<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">
<div class="flex-shrink-0 flex items-center">
<i data-feather="home" class="h-8 w-8 text-blue-700"></i>
<span class="ml-2 text-xl font-bold text-gray-900">PropTech Connect</span>
</div>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="index.html" class="text-gray-700 hover:text-blue-700 px-3 py-2 rounded-md text-sm font-medium">Home</a>
<a href="dashboard.html" class="text-gray-700 hover:text-blue-700 px-3 py-2 rounded-md text-sm font-medium">Dashboard</a>
<a href="properties.html" class="text-blue-700 px-3 py-2 rounded-md text-sm font-medium border-b-2 border-blue-700">Properties</a>
<a href="market.html" class="text-gray-700 hover:text-blue-700 px-3 py-2 rounded-md text-sm font-medium">Market Data</a>
<a href="login.html" class="bg-blue-700 text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-blue-800 transition duration-300">Login</a>
</div>
<div class="md:hidden flex items-center">
<button id="mobile-menu-button" class="text-gray-700 hover:text-blue-700">
<i data-feather="menu"></i>
</button>
</div>
</div>
</div>
</nav>
<!-- Header -->
<section class="bg-gradient-to-r from-blue-700 to-blue-900 text-white py-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center">
<h1 class="text-4xl md:text-5xl font-bold mb-4">Browse Properties</h1>
<p class="text-xl">Discover premium real estate opportunities across the Middle East</p>
</div>
</div>
</section>
<!-- Filters -->
<section class="bg-white py-8 shadow-sm">
<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-4">
<select class="px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-700">
<option>All Locations</option>
<option>Dubai, UAE</option>
<option>Abu Dhabi, UAE</option>
<option>Riyadh, Saudi Arabia</option>
<option>Doha, Qatar</option>
</select>
<select class="px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-700">
<option>All Types</option>
<option>Apartment</option>
<option>Villa</option>
<option>Commercial</option>
<option>Penthouse</option>
</select>
<select class="px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-700">
<option>Any Price</option>
<option>Under $500,000</option>
<option>$500,000 - $1M</option>
<option>$1M - $5M</option>
<option>Over $5M</option>
</select>
<button class="bg-blue-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-blue-800 transition duration-300">Search</button>
</div>
</div>
</section>
<!-- Properties Grid -->
<section class="py-12">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" id="properties-grid">
<!-- Properties loaded dynamically -->
</div>
</div>
</section>
<script>
const properties = [
{
image: 'http://static.photos/cityscape/640x360/1',
title: 'Luxury Downtown Apartment',
location: 'Dubai Marina, UAE',
price: 'AED 2,800,000',
type: 'Apartment',
beds: 3,
baths: 3,
area: '2,200 sqft'
},
{
image: 'http://static.photos/vintage/640x360/2',
title: 'Heritage Villa Compound',
location: 'Riyadh, Saudi Arabia',
price: 'SAR 12,500,000',
type: 'Villa',
beds: 5,
baths: 6,
area: '8,500 sqft'
},
{
image: 'http://static.photos/modern/640x360/3',
title: 'Commercial Office Space',
location: 'Doha, Qatar',
price: 'QAR 4,200,000',
type: 'Commercial',
beds: 'N/A',
baths: 'N/A',
area: '5,000 sqft'
},
{
image: 'http://static.photos/white/640x360/4',
title: 'Penthouse with Sea View',
location: 'Abu Dhabi, UAE',
price: 'AED 5,600,000',
type: 'Penthouse',
beds: 4,
baths: 4,
area: '3,800 sqft'
},
{
image: 'http://static.photos/gradient/640x360/5',
title: 'Investment Property Portfolio',
location: 'Manama, Bahrain',
price: 'BHD 850,000',
type: 'Mixed Use',
beds: 'Multiple',
baths: 'Multiple',
area: '15,000 sqft'
},
{
image: 'http://static.photos/blue/640x360/6',
title: 'Waterfront Development',
location: 'Muscat, Oman',
price: 'OMR 1,200,000',
type: 'Development',
beds: 'N/A',
baths: 'N/A',
area: '25,000 sqft'
}
];
function loadProperties() {
const grid = document.getElementById('properties-grid');
grid.innerHTML = '';
properties.forEach(property => {
const card = document.createElement('div');
card.className = 'bg-white rounded-xl shadow-lg overflow-hidden property-card';
card.innerHTML = `
<img src="${property.image}" alt="${property.title}" class="w-full h-48 object-cover">
<div class="p-6">
<div class="flex justify-between items-start mb-2">
<h3 class="text-lg font-semibold text-gray-900">${property.title}</h3>
<span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">${property.type}</span>
</div>
<p class="text-gray-600 mb-4 flex items-center"><i data-feather="map-pin" class="w-4 h-4 mr-1"></i> ${property.location}</p>
<div class="grid grid-cols-3 gap-4 mb-4 text-center text-sm text-gray-600">
<div><i data-feather="home" class="w-4 h-4 mx-auto mb-1"></i> ${property.beds}</div>
<div><i data-feather="droplet" class="w-4 h-4 mx-auto mb-1"></i> ${property.baths}</div>
<div><i data-feather="maximize" class="w-4 h-4 mx-auto mb-1"></i> ${property.area}</div>
</div>
<div class="flex justify-between items-center">
<span class="text-xl font-bold text-blue-700">${property.price}</span>
<a href="property-details.html" class="bg-blue-700 text-white px-4 py-2 rounded-lg text-sm font-medium hover:bg-blue-800 transition duration-300">View Details</a>
</div>
</div>
`;
grid.appendChild(card);
});
feather.replace();
}
document.addEventListener('DOMContentLoaded', loadProperties);
</script>
</body>
</html>