|
|
<!DOCTYPE html> |
|
|
<html lang="fr"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>Remorquage Pro - Dashboard</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> |
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> |
|
|
<style> |
|
|
.sidebar { |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
.active-menu { |
|
|
background-color: #3B82F6; |
|
|
color: white; |
|
|
} |
|
|
.dashboard-card:hover { |
|
|
transform: translateY(-5px); |
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="bg-gray-100 flex h-screen"> |
|
|
|
|
|
<div class="sidebar bg-blue-800 text-white w-64 space-y-6 py-7 px-2 absolute inset-y-0 left-0 transform -translate-x-full md:relative md:translate-x-0 transition duration-200 ease-in-out" id="sidebar"> |
|
|
<div class="text-white flex items-center space-x-2 px-4"> |
|
|
<i data-feather="truck" class="h-8 w-8"></i> |
|
|
<span class="text-2xl font-extrabold">Remorquage Pro</span> |
|
|
</div> |
|
|
<nav> |
|
|
<a href="index.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="home"></i> |
|
|
<span>Dashboard</span> |
|
|
</a> |
|
|
<a href="clients.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="users"></i> |
|
|
<span>Clients</span> |
|
|
</a> |
|
|
<a href="employes.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="user-check"></i> |
|
|
<span>Employés</span> |
|
|
</a> |
|
|
<a href="vehicules.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="truck"></i> |
|
|
<span>Véhicules</span> |
|
|
</a> |
|
|
<a href="missions.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="map-pin"></i> |
|
|
<span>Missions</span> |
|
|
</a> |
|
|
<a href="assurances.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="shield"></i> |
|
|
<span>Assurances</span> |
|
|
</a> |
|
|
<a href="reglements.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 hover:bg-blue-700"> |
|
|
<i data-feather="credit-card"></i> |
|
|
<span>Règlements</span> |
|
|
</a> |
|
|
<a href="rapports.html" class="py-2.5 px-4 rounded transition duration-200 flex items-center space-x-2 active-menu"> |
|
|
<i data-feather="bar-chart-2"></i> |
|
|
<span>Rapports</span> |
|
|
</a> |
|
|
</nav> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex-1 flex flex-col overflow-hidden"> |
|
|
|
|
|
<header class="bg-white shadow-sm"> |
|
|
<div class="flex items-center justify-between p-4"> |
|
|
<div class="flex items-center"> |
|
|
<button id="menu-toggle" class="text-gray-500 focus:outline-none md:hidden"> |
|
|
<i data-feather="menu"></i> |
|
|
</button> |
|
|
<h1 class="text-2xl font-semibold text-gray-800 ml-4">Dashboard</h1> |
|
|
</div> |
|
|
<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/40x40/10" alt="Profile" class="h-10 w-10 rounded-full"> |
|
|
<span class="ml-2 text-gray-700">Admin</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</header> |
|
|
|
|
|
|
|
|
<main class="flex-1 overflow-y-auto p-6 bg-gray-100"> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6"> |
|
|
<div class="dashboard-card bg-white rounded-lg shadow p-6" data-aos="fade-up"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-blue-100 text-blue-600"> |
|
|
<i data-feather="users" class="h-6 w-6"></i> |
|
|
</div> |
|
|
<div class="ml-4"> |
|
|
<p class="text-sm font-medium text-gray-600">Clients</p> |
|
|
<h3 class="text-2xl font-bold text-gray-800">247</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="dashboard-card bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="100"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-green-100 text-green-600"> |
|
|
<i data-feather="user-check" class="h-6 w-6"></i> |
|
|
</div> |
|
|
<div class="ml-4"> |
|
|
<p class="text-sm font-medium text-gray-600">Employés</p> |
|
|
<h3 class="text-2xl font-bold text-gray-800">12</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="dashboard-card bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="200"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600"> |
|
|
<i data-feather="map-pin" class="h-6 w-6"></i> |
|
|
</div> |
|
|
<div class="ml-4"> |
|
|
<p class="text-sm font-medium text-gray-600">Missions ce mois</p> |
|
|
<h3 class="text-2xl font-bold text-gray-800">84</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="dashboard-card bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="300"> |
|
|
<div class="flex items-center"> |
|
|
<div class="p-3 rounded-full bg-red-100 text-red-600"> |
|
|
<i data-feather="dollar-sign" class="h-6 w-6"></i> |
|
|
</div> |
|
|
<div class="ml-4"> |
|
|
<p class="text-sm font-medium text-gray-600">Chiffre d'affaires</p> |
|
|
<h3 class="text-2xl font-bold text-gray-800">24 560 €</h3> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-6"> |
|
|
<div class="bg-white rounded-lg shadow p-6" data-aos="fade-right"> |
|
|
<h2 class="text-lg font-semibold text-gray-800 mb-4">Top 3 Missions ce mois</h2> |
|
|
<div class="space-y-3"> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Remorquage</span> |
|
|
<span class="font-semibold">38 missions</span> |
|
|
</div> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Dépannage</span> |
|
|
<span class="font-semibold">28 missions</span> |
|
|
</div> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Assistance</span> |
|
|
<span class="font-semibold">18 missions</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white rounded-lg shadow p-6" data-aos="fade-up"> |
|
|
<h2 class="text-lg font-semibold text-gray-800 mb-4">Performances mensuelles</h2> |
|
|
<div class="space-y-3"> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Moyenne KM/mission</span> |
|
|
<span class="font-semibold">24 km</span> |
|
|
</div> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Taux de réussite</span> |
|
|
<span class="font-semibold">98%</span> |
|
|
</div> |
|
|
<div class="flex justify-between items-center"> |
|
|
<span class="text-sm text-gray-600">Temps moyen</span> |
|
|
<span class="font-semibold">45 min</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white rounded-lg shadow p-6" data-aos="fade-left"> |
|
|
<h2 class="text-lg font-semibold text-gray-800 mb-4">Statut des missions</h2> |
|
|
<div class="space-y-3"> |
|
|
<div class="flex items-center space-x-2"> |
|
|
<div class="w-3 h-3 rounded-full bg-green-500"></div> |
|
|
<span class="text-sm text-gray-600">Terminées: 72</span> |
|
|
</div> |
|
|
<div class="flex items-center space-x-2"> |
|
|
<div class="w-3 h-3 rounded-full bg-yellow-500"></div> |
|
|
<span class="text-sm text-gray-600">En cours: 8</span> |
|
|
</div> |
|
|
<div class="flex items-center space-x-2"> |
|
|
<div class="w-3 h-3 rounded-full bg-blue-500"></div> |
|
|
<span class="text-sm text-gray-600">Programmées: 4</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white rounded-lg shadow overflow-hidden" data-aos="fade-up"> |
|
|
<div class="px-6 py-4 border-b border-gray-200"> |
|
|
<h2 class="text-lg font-semibold text-gray-800">Missions récentes</h2> |
|
|
</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">Client</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Véhicule</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">KM</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Statut</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Martin Dupont</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Dépannage</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Renault Clio</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">15 km</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">Terminé</span></td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Assurance AXA</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Remorquage</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Peugeot 308</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">42 km</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">En cours</span></td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Sophie Lambert</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Assistance</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">Citroën C3</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap">8 km</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">Programmé</span></td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</div> |
|
|
</main> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
document.getElementById('menu-toggle').addEventListener('click', function() { |
|
|
document.getElementById('sidebar').classList.toggle('-translate-x-full'); |
|
|
}); |
|
|
</script> |
|
|
<script>AOS.init();</script> |
|
|
<script>feather.replace();</script> |
|
|
</body> |
|
|
</html> |
|
|
|