Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Environmental Monitoring Dashboard</title> | |
| <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; | |
| } | |
| .dashboard-card { | |
| transition: transform 0.3s, box-shadow 0.3s; | |
| } | |
| .dashboard-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |
| } | |
| .map-container { | |
| height: 400px; | |
| background-color: #e5e7eb; | |
| border-radius: 0.5rem; | |
| overflow: hidden; | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50"> | |
| <div class="flex h-screen overflow-hidden"> | |
| <!-- Sidebar --> | |
| <div class="sidebar bg-blue-800 text-white w-64 flex-shrink-0 transform -translate-x-full md:translate-x-0 transition-transform duration-300 ease-in-out"> | |
| <div class="p-4 flex items-center justify-between border-b border-blue-700"> | |
| <h1 class="text-xl font-bold">EcoMonitor</h1> | |
| <button class="md:hidden text-white" id="sidebarToggle"> | |
| <i data-feather="x"></i> | |
| </button> | |
| </div> | |
| <nav class="p-4"> | |
| <div class="mb-6"> | |
| <h2 class="text-sm uppercase font-semibold text-blue-300 mb-2">Main</h2> | |
| <a href="#" class="flex items-center py-2 px-2 rounded bg-blue-700 text-white"> | |
| <i data-feather="home" class="mr-2"></i> Dashboard | |
| </a> | |
| <a href="#map-section" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="map" class="mr-2"></i> Map View | |
| </a> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="database" class="mr-2"></i> Data Explorer | |
| </a> | |
| </div> | |
| <div class="mb-6"> | |
| <h2 class="text-sm uppercase font-semibold text-blue-300 mb-2">Reports</h2> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="file-text" class="mr-2"></i> Daily Reports | |
| </a> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="bar-chart-2" class="mr-2"></i> Analytics | |
| </a> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="download" class="mr-2"></i> Exports | |
| </a> | |
| </div> | |
| <div> | |
| <h2 class="text-sm uppercase font-semibold text-blue-300 mb-2">Settings</h2> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="settings" class="mr-2"></i> System | |
| </a> | |
| <a href="#" class="flex items-center py-2 px-2 rounded hover:bg-blue-700 text-blue-100"> | |
| <i data-feather="user" class="mr-2"></i> Profile | |
| </a> | |
| </div> | |
| </nav> | |
| </div> | |
| <!-- Main Content --> | |
| <div class="flex-1 overflow-auto"> | |
| <!-- Header --> | |
| <header class="bg-white shadow-sm"> | |
| <div class="flex items-center justify-between p-4"> | |
| <div class="flex items-center"> | |
| <button class="md:hidden text-gray-600 mr-4" id="mobileSidebarToggle"> | |
| <i data-feather="menu"></i> | |
| </button> | |
| <h1 class="text-xl font-semibold text-gray-800">Environmental Monitoring Dashboard</h1> | |
| </div> | |
| <div class="flex items-center space-x-4"> | |
| <div class="relative"> | |
| <input type="text" placeholder="Search..." class="pl-10 pr-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"> | |
| <i data-feather="search" class="absolute left-3 top-2.5 text-gray-400"></i> | |
| </div> | |
| <button class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200"> | |
| <i data-feather="bell"></i> | |
| </button> | |
| <div class="flex items-center"> | |
| <img src="http://static.photos/people/40x40/1" alt="User" class="w-8 h-8 rounded-full mr-2"> | |
| <span class="text-sm font-medium">Admin</span> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Dashboard Content --> | |
| <main class="p-6"> | |
| <!-- Filters --> | |
| <div class="bg-white rounded-lg shadow p-4 mb-6"> | |
| <div class="flex flex-col md:flex-row md:items-center md:space-x-4 space-y-4 md:space-y-0"> | |
| <div class="flex-1"> | |
| <label class="block text-sm font-medium text-gray-700 mb-1">Company</label> | |
| <select class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"> | |
| <option>All Companies</option> | |
| <option>AQUASIS</option> | |
| <option>ITD</option> | |
| <option>QUEAMAR</option> | |
| <option>AMARES</option> | |
| </select> | |
| </div> | |
| <div class="flex-1"> | |
| <label class="block text-sm font-medium text-gray-700 mb-1">State</label> | |
| <select class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"> | |
| <option>All States</option> | |
| <option>CE</option> | |
| <option>PI</option> | |
| <option>MA</option> | |
| </select> | |
| </div> | |
| <div class="flex-1"> | |
| <label class="block text-sm font-medium text-gray-700 mb-1">Date Range</label> | |
| <input type="date" class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500"> | |
| </div> | |
| <div class="flex items-end"> | |
| <button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-md"> | |
| Apply Filters | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Map Section --> | |
| <div id="map-section" class="bg-white rounded-lg shadow p-6 mb-6"> | |
| <h2 class="text-xl font-semibold text-gray-800 mb-4">Monitoring Routes Map</h2> | |
| <div class="map-container relative"> | |
| <div id="map" style="height: 100%; width: 100%;"></div> | |
| <div class="absolute top-4 right-4 bg-white p-2 rounded shadow z-10"> | |
| <div class="flex items-center mb-2"> | |
| <div class="w-4 h-4 bg-blue-500 mr-2"></div> | |
| <span class="text-sm">AQUASIS Routes</span> | |
| </div> | |
| <div class="flex items-center mb-2"> | |
| <div class="w-4 h-4 bg-green-500 mr-2"></div> | |
| <span class="text-sm">ITD Routes</span> | |
| </div> | |
| <div class="flex items-center"> | |
| <div class="w-4 h-4 bg-red-500 mr-2"></div> | |
| <span class="text-sm">QUEAMAR/AMARES Routes</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Summary Cards --> | |
| <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"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500 text-sm font-medium">Total Distance</p> | |
| <h3 class="text-2xl font-bold text-gray-800">1,284.7 km</h3> | |
| </div> | |
| <div class="p-3 rounded-lg bg-blue-100 text-blue-600"> | |
| <i data-feather="map"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex items-center text-sm text-gray-500"> | |
| <i data-feather="trending-up" class="mr-1 text-green-500"></i> | |
| <span>12% from last month</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="dashboard-card bg-white rounded-lg shadow p-6"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500 text-sm font-medium">Turtle Sightings</p> | |
| <h3 class="text-2xl font-bold text-gray-800">42</h3> | |
| </div> | |
| <div class="p-3 rounded-lg bg-green-100 text-green-600"> | |
| <i data-feather="git-merge"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex items-center text-sm text-gray-500"> | |
| <i data-feather="trending-up" class="mr-1 text-green-500"></i> | |
| <span>8% from last month</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="dashboard-card bg-white rounded-lg shadow p-6"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500 text-sm font-medium">Mammal Sightings</p> | |
| <h3 class="text-2xl font-bold text-gray-800">3</h3> | |
| </div> | |
| <div class="p-3 rounded-lg bg-purple-100 text-purple-600"> | |
| <i data-feather="zap"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex items-center text-sm text-gray-500"> | |
| <i data-feather="trending-down" class="mr-1 text-red-500"></i> | |
| <span>2% from last month</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="dashboard-card bg-white rounded-lg shadow p-6"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500 text-sm font-medium">Avg. Duration</p> | |
| <h3 class="text-2xl font-bold text-gray-800">2.3 hrs</h3> | |
| </div> | |
| <div class="p-3 rounded-lg bg-yellow-100 text-yellow-600"> | |
| <i data-feather="clock"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex items-center text-sm text-gray-{"ok":false,"message":"terminated"} | |
| </body> | |
| </html> |