madeira-guide / index.html
ValerGa's picture
Add 3 files
ce2f189 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Madeira Guide - Your Island Companion</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Poppins', sans-serif;
background-color: #f8fafc;
}
.gradient-bg {
background: linear-gradient(135deg, #38b2ac 0%, #0ea5e9 100%);
}
.card-hover {
transition: all 0.3s ease;
}
.card-hover: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: 300px;
border-radius: 1rem;
overflow: hidden;
position: relative;
}
.map-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
color: white;
padding: 1.5rem;
}
.nav-item {
position: relative;
}
.nav-item::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background-color: #38b2ac;
transition: width 0.3s ease;
}
.nav-item:hover::after {
width: 100%;
}
.search-bar {
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.category-chip {
transition: all 0.2s ease;
}
.category-chip:hover {
transform: scale(1.05);
}
.active-category {
background-color: #0ea5e9;
color: white;
}
</style>
</head>
<body class="text-gray-800">
<!-- Header -->
<header class="gradient-bg text-white sticky top-0 z-50 shadow-lg">
<div class="container mx-auto px-4 py-4">
<div class="flex justify-between items-center">
<div class="flex items-center space-x-2">
<i class="fas fa-map-marked-alt text-2xl"></i>
<h1 class="text-xl font-bold">Madeira Guide</h1>
</div>
<div class="flex items-center space-x-4">
<button class="p-2 rounded-full bg-white bg-opacity-20 hover:bg-opacity-30 transition">
<i class="fas fa-search"></i>
</button>
<button class="p-2 rounded-full bg-white bg-opacity-20 hover:bg-opacity-30 transition">
<i class="fas fa-user"></i>
</button>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main class="container mx-auto px-4 py-6">
<!-- Hero Section -->
<section class="mb-10">
<div class="bg-white rounded-2xl shadow-lg overflow-hidden">
<div class="map-container relative">
<!-- This would be replaced with an actual map component -->
<div class="absolute inset-0 bg-gradient-to-br from-blue-400 to-teal-500 flex items-center justify-center">
<i class="fas fa-map text-white text-6xl opacity-30"></i>
</div>
<div class="map-overlay">
<h2 class="text-2xl font-bold mb-1">Explore Madeira</h2>
<p class="text-sm opacity-90">Discover hidden gems and popular spots</p>
</div>
</div>
</div>
</section>
<!-- Search Bar -->
<section class="mb-8">
<div class="search-bar bg-white rounded-full p-3 flex items-center shadow">
<i class="fas fa-search text-gray-400 ml-2 mr-3"></i>
<input type="text" placeholder="Search places, routes..." class="flex-grow outline-none text-gray-700">
<button class="bg-blue-500 text-white p-2 rounded-full w-10 h-10 flex items-center justify-center">
<i class="fas fa-sliders-h"></i>
</button>
</div>
</section>
<!-- Categories -->
<section class="mb-8">
<h2 class="text-lg font-semibold mb-4">Categories</h2>
<div class="flex space-x-3 overflow-x-auto pb-2">
<button class="category-chip active-category px-4 py-2 rounded-full bg-blue-100 text-blue-800 text-sm font-medium whitespace-nowrap">
<i class="fas fa-umbrella-beach mr-2"></i> Beaches
</button>
<button class="category-chip px-4 py-2 rounded-full bg-gray-100 text-gray-800 text-sm font-medium whitespace-nowrap">
<i class="fas fa-hiking mr-2"></i> Hiking
</button>
<button class="category-chip px-4 py-2 rounded-full bg-gray-100 text-gray-800 text-sm font-medium whitespace-nowrap">
<i class="fas fa-utensils mr-2"></i> Restaurants
</button>
<button class="category-chip px-4 py-2 rounded-full bg-gray-100 text-gray-800 text-sm font-medium whitespace-nowrap">
<i class="fas fa-hotel mr-2"></i> Hotels
</button>
<button class="category-chip px-4 py-2 rounded-full bg-gray-100 text-gray-800 text-sm font-medium whitespace-nowrap">
<i class="fas fa-shopping-bag mr-2"></i> Shopping
</button>
</div>
</section>
<!-- Featured Places -->
<section class="mb-8">
<div class="flex justify-between items-center mb-4">
<h2 class="text-lg font-semibold">Featured Places</h2>
<a href="#" class="text-blue-500 text-sm font-medium">See all</a>
</div>
<div class="grid grid-cols-2 gap-4">
<div class="card-hover bg-white rounded-xl overflow-hidden shadow">
<div class="h-32 bg-gradient-to-r from-yellow-400 to-orange-500 relative">
<div class="absolute top-2 right-2 bg-white bg-opacity-90 rounded-full p-1">
<i class="fas fa-heart text-red-500 text-sm"></i>
</div>
</div>
<div class="p-3">
<h3 class="font-medium text-sm mb-1">Pico do Arieiro</h3>
<div class="flex items-center text-xs text-gray-500 mb-2">
<i class="fas fa-map-marker-alt mr-1"></i>
<span>5.2 km away</span>
</div>
<div class="flex items-center">
<div class="flex text-yellow-400 text-xs">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<span class="text-xs text-gray-500 ml-1">(128)</span>
</div>
</div>
</div>
<div class="card-hover bg-white rounded-xl overflow-hidden shadow">
<div class="h-32 bg-gradient-to-r from-green-400 to-blue-500 relative">
<div class="absolute top-2 right-2 bg-white bg-opacity-90 rounded-full p-1">
<i class="far fa-heart text-gray-500 text-sm"></i>
</div>
</div>
<div class="p-3">
<h3 class="font-medium text-sm mb-1">Porto Moniz</h3>
<div class="flex items-center text-xs text-gray-500 mb-2">
<i class="fas fa-map-marker-alt mr-1"></i>
<span>18.7 km away</span>
</div>
<div class="flex items-center">
<div class="flex text-yellow-400 text-xs">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="far fa-star"></i>
</div>
<span class="text-xs text-gray-500 ml-1">(94)</span>
</div>
</div>
</div>
</div>
</section>
<!-- Services -->
<section class="mb-8">
<h2 class="text-lg font-semibold mb-4">Travel Services</h2>
<div class="grid grid-cols-4 gap-3">
<div class="card-hover bg-white rounded-xl p-4 flex flex-col items-center justify-center shadow">
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mb-2">
<i class="fas fa-store text-blue-500 text-xl"></i>
</div>
<span class="text-xs font-medium text-center">Shops</span>
</div>
<div class="card-hover bg-white rounded-xl p-4 flex flex-col items-center justify-center shadow">
<div class="w-12 h-12 bg-green-100 rounded-full flex items-center justify-center mb-2">
<i class="fas fa-taxi text-green-500 text-xl"></i>
</div>
<span class="text-xs font-medium text-center">Taxi</span>
</div>
<div class="card-hover bg-white rounded-xl p-4 flex flex-col items-center justify-center shadow">
<div class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-2">
<i class="fas fa-car text-purple-500 text-xl"></i>
</div>
<span class="text-xs font-medium text-center">Rentals</span>
</div>
<div class="card-hover bg-white rounded-xl p-4 flex flex-col items-center justify-center shadow">
<div class="w-12 h-12 bg-yellow-100 rounded-full flex items-center justify-center mb-2">
<i class="fas fa-ticket-alt text-yellow-500 text-xl"></i>
</div>
<span class="text-xs font-medium text-center">Tickets</span>
</div>
</div>
</section>
<!-- Popular Routes -->
<section>
<div class="flex justify-between items-center mb-4">
<h2 class="text-lg font-semibold">Popular Routes</h2>
<a href="#" class="text-blue-500 text-sm font-medium">See all</a>
</div>
<div class="space-y-4">
<div class="card-hover bg-white rounded-xl p-4 shadow flex items-start">
<div class="w-16 h-16 bg-gradient-to-r from-orange-400 to-pink-500 rounded-lg mr-4 flex items-center justify-center text-white">
<i class="fas fa-route text-xl"></i>
</div>
<div class="flex-1">
<h3 class="font-medium mb-1">PR6 - Levada das 25 Fontes</h3>
<p class="text-xs text-gray-500 mb-2">Medium difficulty • 4.6 km • 3h</p>
<div class="flex items-center text-xs">
<div class="flex text-yellow-400 mr-2">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
<span class="text-gray-500">(256)</span>
</div>
</div>
</div>
<div class="card-hover bg-white rounded-xl p-4 shadow flex items-start">
<div class="w-16 h-16 bg-gradient-to-r from-green-400 to-blue-500 rounded-lg mr-4 flex items-center justify-center text-white">
<i class="fas fa-route text-xl"></i>
</div>
<div class="flex-1">
<h3 class="font-medium mb-1">PR8 - Ponta de São Lourenço</h3>
<p class="text-xs text-gray-500 mb-2">Easy difficulty • 7.2 km • 2.5h</p>
<div class="flex items-center text-xs">
<div class="flex text-yellow-400 mr-2">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<span class="text-gray-500">(189)</span>
</div>
</div>
</div>
</div>
</section>
</main>
<!-- Bottom Navigation -->
<nav class="fixed bottom-0 left-0 right-0 bg-white shadow-lg border-t border-gray-200 z-50">
<div class="container mx-auto px-4">
<div class="flex justify-around">
<a href="#" class="nav-item py-3 px-4 flex flex-col items-center text-blue-500">
<i class="fas fa-home text-lg"></i>
<span class="text-xs mt-1">Home</span>
</a>
<a href="#" class="nav-item py-3 px-4 flex flex-col items-center text-gray-500">
<i class="fas fa-map text-lg"></i>
<span class="text-xs mt-1">Map</span>
</a>
<a href="#" class="nav-item py-3 px-4 flex flex-col items-center text-gray-500">
<i class="fas fa-compass text-lg"></i>
<span class="text-xs mt-1">Explore</span>
</a>
<a href="#" class="nav-item py-3 px-4 flex flex-col items-center text-gray-500">
<i class="fas fa-bookmark text-lg"></i>
<span class="text-xs mt-1">Saved</span>
</a>
</div>
</div>
</nav>
<script>
// Simple interactivity
document.addEventListener('DOMContentLoaded', function() {
// Category chips selection
const categoryChips = document.querySelectorAll('.category-chip');
categoryChips.forEach(chip => {
chip.addEventListener('click', function() {
document.querySelector('.active-category').classList.remove('active-category', 'bg-blue-500', 'text-white');
this.classList.add('active-category', 'bg-blue-500', 'text-white');
});
});
// Favorite toggle
const favoriteIcons = document.querySelectorAll('.fa-heart, .fa-heart');
favoriteIcons.forEach(icon => {
icon.addEventListener('click', function(e) {
e.stopPropagation();
if (this.classList.contains('far')) {
this.classList.remove('far');
this.classList.add('fas', 'text-red-500');
} else {
this.classList.remove('fas', 'text-red-500');
this.classList.add('far');
}
});
});
// Card click effect
const cards = document.querySelectorAll('.card-hover');
cards.forEach(card => {
card.addEventListener('click', function() {
// In a real app, this would navigate to a detail page
console.log('Navigating to details for:', this.querySelector('h3').textContent);
});
});
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=ValerGa/madeira-guide" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>