Taper5749's picture
build every page
e726e32 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin Panel - Kudaram Lakeview</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>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body class="bg-gray-100">
<div class="flex h-screen">
<!-- Sidebar -->
<div class="w-64 bg-gray-800 text-white">
<div class="p-4 border-b border-gray-700">
<h1 class="text-xl font-bold flex items-center">
<img src="/static/logo.png" alt="Logo" class="h-8 mr-2">
Admin Panel
</h1>
</div>
<nav class="p-4">
<div class="space-y-2">
<a href="/admin" class="flex items-center p-2 rounded bg-gray-700">
<i data-feather="home" class="mr-2"></i> Dashboard
</a>
<a href="/admin/bookings" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="calendar" class="mr-2"></i> Bookings
<i data-feather="calendar" class="mr-2"></i> Bookings
</a>
<a href="/admin/rooms" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="home" class="mr-2"></i> Rooms
</a>
<a href="/admin/guests" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="users" class="mr-2"></i> Guests
</a>
<a href="/admin/staff" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="user-plus" class="mr-2"></i> Staff
</a>
<a href="/admin/reports" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="bar-chart-2" class="mr-2"></i> Reports
</a>
<a href="/admin/settings" class="flex items-center p-2 rounded hover:bg-gray-700">
<i data-feather="settings" class="mr-2"></i> Settings
</a>
</div>
</nav>
</div>
<!-- Main Content -->
<div class="flex-1 overflow-auto">
<!-- Top Navigation -->
<header class="bg-white shadow-sm">
<div class="flex justify-between items-center p-4">
<h2 class="text-xl font-semibold">Dashboard Overview</h2>
<div class="flex items-center space-x-4">
<div class="relative">
<i data-feather="bell" class="text-gray-500"></i>
<span class="absolute top-0 right-0 h-2 w-2 rounded-full bg-red-500"></span>
</div>
<div class="flex items-center">
<img src="http://static.photos/people/200x200/5" alt="Admin" class="h-8 w-8 rounded-full">
<span class="ml-2">Admin</span>
</div>
</div>
</div>
</header>
<!-- Dashboard Content -->
<main class="p-6">
<!-- Stats Cards -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6">
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-green-100 text-green-600">
<i data-feather="dollar-sign"></i>
</div>
<div class="ml-4">
<p class="text-gray-500">Today's Revenue</p>
<h3 class="text-2xl font-bold">₹24,500</h3>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-blue-100 text-blue-600">
<i data-feather="home"></i>
</div>
<div class="ml-4">
<p class="text-gray-500">Occupied Rooms</p>
<h3 class="text-2xl font-bold">14/24</h3>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-purple-100 text-purple-600">
<i data-feather="users"></i>
</div>
<div class="ml-4">
<p class="text-gray-500">New Guests</p>
<h3 class="text-2xl font-bold">8</h3>
</div>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600">
<i data-feather="calendar"></i>
</div>
<div class="ml-4">
<p class="text-gray-500">Check-ins Today</p>
<h3 class="text-2xl font-bold">5</h3>
</div>
</div>
</div>
</div>
<!-- Charts -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
<div class="bg-white rounded-lg shadow p-6">
<h3 class="text-lg font-semibold mb-4">Revenue Overview</h3>
<canvas id="revenueChart" height="300"></canvas>
</div>
<div class="bg-white rounded-lg shadow p-6">
<h3 class="text-lg font-semibold mb-4">Occupancy Rate</h3>
<canvas id="occupancyChart" height="300"></canvas>
</div>
</div>
<!-- Recent Bookings -->
<div class="bg-white rounded-lg shadow overflow-hidden">
<div class="px-6 py-4 border-b border-gray-200">
<h3 class="text-lg font-semibold">Recent Bookings</h3>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Booking ID</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Guest</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Room</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Check-in</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Check-out</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Action</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#BK00123</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Rahul Sharma</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Deluxe Lake View</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">18 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Confirmed</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<a href="#" class="text-indigo-600 hover:text-indigo-900">View</a>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#BK00122</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Priya Patel</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Executive Suite</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">14 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">16 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Pending</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<a href="#" class="text-indigo-600 hover:text-indigo-900">View</a>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#BK00121</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Vikram Singh</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Family Suite</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">12 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15 May 2023</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Confirmed</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<a href="#" class="text-indigo-600 hover:text-indigo-900">View</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</main>
</div>
</div>
<script>
// Initialize feather icons
feather.replace();
// Charts
const revenueCtx = document.getElementById('revenueChart').getContext('2d');
const revenueChart = new Chart(revenueCtx, {
type: 'line',
data: {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
datasets: [{
label: 'Revenue (₹)',
data: [150000, 175000, 190000, 210000, 225000, 240000],
backgroundColor: 'rgba(16, 185, 129, 0.1)',
borderColor: 'rgba(16, 185, 129, 1)',
borderWidth: 2,
tension: 0.3
}]
},
options: {
responsive: true,
plugins: {
legend: {
display: false
}
},
scales: {
y: {
beginAtZero: true
}
}
}
});
const occupancyCtx = document.getElementById('occupancyChart').getContext('2d');
const occupancyChart = new Chart(occupancyCtx, {
type: 'bar',
data: {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
datasets: [{
label: 'Occupancy Rate (%)',
data: [65, 72, 68, 78, 82, 85],
backgroundColor: 'rgba(99, 102, 241, 0.6)',
borderColor: 'rgba(99, 102, 241, 1)',
borderWidth: 1
}]
},
options: {
responsive: true,
plugins: {
legend: {
display: false
}
},
scales: {
y: {
beginAtZero: true,
max: 100
}
}
}
});
</script>
</body>
</html>