| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>CrimeBusters | Case Tracker</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/vanta@latest/dist/vanta.net.min.js"></script> |
| <style> |
| .evidence-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); |
| } |
| .case-file { |
| background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); |
| } |
| .badge-pulse { |
| animation: pulse 2s infinite; |
| } |
| @keyframes pulse { |
| 0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); } |
| 70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); } |
| 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } |
| } |
| </style> |
| </head> |
| <body class="bg-gray-50"> |
| |
| <div id="vanta-bg" class="fixed inset-0 -z-10"></div> |
|
|
| |
| <div class="container mx-auto px-4 py-8"> |
| |
| <header class="mb-12"> |
| <div class="flex justify-between items-center"> |
| <div class="flex items-center space-x-4"> |
| <i data-feather="shield" class="text-red-600 w-10 h-10"></i> |
| <h1 class="text-3xl font-bold text-gray-900">CrimeBusters</h1> |
| </div> |
| <nav class="hidden md:flex space-x-6"> |
| <a href="#" class="text-gray-900 hover:text-red-600 font-medium">Dashboard</a> |
| <a href="#" class="text-gray-600 hover:text-red-600 font-medium">Cases</a> |
| <a href="#" class="text-gray-600 hover:text-red-600 font-medium">Agents</a> |
| <a href="#" class="text-gray-600 hover:text-red-600 font-medium">Reports</a> |
| </nav> |
| <div class="flex items-center space-x-4"> |
| <button class="md:hidden"> |
| <i data-feather="menu" class="w-6 h-6 text-gray-900"></i> |
| </button> |
| <div class="relative"> |
| <i data-feather="bell" class="w-6 h-6 text-gray-900"></i> |
| <span class="absolute -top-1 -right-1 h-4 w-4 rounded-full bg-red-600 text-white text-xs flex items-center justify-center badge-pulse"></span> |
| </div> |
| <div class="hidden md:flex items-center space-x-2"> |
| <div class="w-8 h-8 rounded-full bg-red-600 flex items-center justify-center text-white font-bold">JD</div> |
| <span class="text-gray-900 font-medium">Agent Doe</span> |
| </div> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <main> |
| |
| <div class="bg-white rounded-xl shadow-md p-6 mb-8 case-file"> |
| <div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6"> |
| <div> |
| <div class="flex items-center space-x-2 mb-2"> |
| <span class="px-3 py-1 bg-red-600 text-white text-xs font-bold rounded-full">HIGH PRIORITY</span> |
| <span class="px-3 py-1 bg-blue-600 text-white text-xs font-bold rounded-full">ONGOING</span> |
| </div> |
| <h2 class="text-2xl font-bold text-gray-900">Case #CB-2023-0872</h2> |
| <p class="text-gray-600">Bank Heist - Downtown District</p> |
| </div> |
| <button class="mt-4 md:mt-0 bg-red-600 hover:bg-red-700 text-white px-6 py-2 rounded-lg font-medium flex items-center space-x-2"> |
| <i data-feather="plus" class="w-4 h-4"></i> |
| <span>New Evidence</span> |
| </button> |
| </div> |
|
|
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8"> |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm"> |
| <h3 class="text-sm font-medium text-gray-500 mb-2">LEAD AGENT</h3> |
| <div class="flex items-center space-x-3"> |
| <div class="w-10 h-10 rounded-full bg-gray-200 flex items-center justify-center"> |
| <i data-feather="user" class="text-gray-600"></i> |
| </div> |
| <div> |
| <p class="font-medium text-gray-900">Agent Jane Doe</p> |
| <p class="text-sm text-gray-500">Field Division</p> |
| </div> |
| </div> |
| </div> |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm"> |
| <h3 class="text-sm font-medium text-gray-500 mb-2">CASE OPENED</h3> |
| <p class="font-medium text-gray-900">Nov 15, 2023</p> |
| <p class="text-sm text-gray-500">14 days ago</p> |
| </div> |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm"> |
| <h3 class="text-sm font-medium text-gray-500 mb-2">SUSPECTS</h3> |
| <div class="flex items-center space-x-2"> |
| <div class="flex -space-x-2"> |
| <img src="http://static.photos/people/200x200/1" class="w-8 h-8 rounded-full border-2 border-white" alt="Suspect 1"> |
| <img src="http://static.photos/people/200x200/2" class="w-8 h-8 rounded-full border-2 border-white" alt="Suspect 2"> |
| <img src="http://static.photos/people/200x200/3" class="w-8 h-8 rounded-full border-2 border-white" alt="Suspect 3"> |
| </div> |
| <span class="text-sm text-gray-500">+2 more</span> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="mb-8"> |
| <h3 class="text-lg font-bold text-gray-900 mb-4 flex items-center"> |
| <i data-feather="clock" class="mr-2 w-5 h-5"></i> |
| Case Timeline |
| </h3> |
| <div class="relative"> |
| <div class="absolute left-5 h-full w-0.5 bg-gray-200"></div> |
| <div class="space-y-6"> |
| <div class="relative pl-10"> |
| <div class="absolute left-0 top-0 w-10 h-10 rounded-full bg-red-100 flex items-center justify-center"> |
| <i data-feather="alert-circle" class="text-red-600 w-5 h-5"></i> |
| </div> |
| <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm"> |
| <div class="flex justify-between items-start mb-2"> |
| <p class="font-medium text-gray-900">Case Opened</p> |
| <span class="text-xs text-gray-500">Nov 15, 10:23 AM</span> |
| </div> |
| <p class="text-sm text-gray-600">Initial report filed by Officer Rodriguez regarding the downtown bank heist.</p> |
| </div> |
| </div> |
| <div class="relative pl-10"> |
| <div class="absolute left-0 top-0 w-10 h-10 rounded-full bg-blue-100 flex items-center justify-center"> |
| <i data-feather="camera" class="text-blue-600 w-5 h-5"></i> |
| </div> |
| <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm"> |
| <div class="flex justify-between items-start mb-2"> |
| <p class="font-medium text-gray-900">Surveillance Footage Obtained</p> |
| <span class="text-xs text-gray-500">Nov 16, 2:15 PM</span> |
| </div> |
| <p class="text-sm text-gray-600">Bank security footage shows three masked suspects entering through the back entrance.</p> |
| <div class="mt-2 flex space-x-2"> |
| <div class="w-16 h-16 bg-gray-100 rounded flex items-center justify-center"> |
| <i data-feather="image" class="text-gray-400"></i> |
| </div> |
| <div class="w-16 h-16 bg-gray-100 rounded flex items-center justify-center"> |
| <i data-feather="image" class="text-gray-400"></i> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="relative pl-10"> |
| <div class="absolute left-0 top-0 w-10 h-10 rounded-full bg-green-100 flex items-center justify-center"> |
| <i data-feather="user-check" class="text-green-600 w-5 h-5"></i> |
| </div> |
| <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm"> |
| <div class="flex justify-between items-start mb-2"> |
| <p class="font-medium text-gray-900">Witness Interviewed</p> |
| <span class="text-xs text-gray-500">Nov 18, 9:30 AM</span> |
| </div> |
| <p class="text-sm text-gray-600">Bank teller Sarah Johnson provided description of suspect's voice and mannerisms.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div> |
| <h3 class="text-lg font-bold text-gray-900 mb-4 flex items-center"> |
| <i data-feather="package" class="mr-2 w-5 h-5"></i> |
| Evidence Collected |
| </h3> |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"> |
| |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm evidence-card transition duration-300 ease-in-out"> |
| <div class="flex items-start justify-between mb-3"> |
| <span class="px-2 py-1 bg-yellow-100 text-yellow-800 text-xs font-medium rounded">PHYSICAL</span> |
| <i data-feather="more-vertical" class="text-gray-400 cursor-pointer"></i> |
| </div> |
| <h4 class="font-medium text-gray-900 mb-2">Crowbar Tool</h4> |
| <p class="text-sm text-gray-600 mb-3">Found near back entrance with fingerprints.</p> |
| <div class="flex items-center justify-between text-xs text-gray-500"> |
| <span>Logged: Nov 16</span> |
| <div class="flex items-center"> |
| <i data-feather="user" class="w-3 h-3 mr-1"></i> |
| <span>Agent Smith</span> |
| </div> |
| </div> |
| </div> |
| |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm evidence-card transition duration-300 ease-in-out"> |
| <div class="flex items-start justify-between mb-3"> |
| <span class="px-2 py-1 bg-blue-100 text-blue-800 text-xs font-medium rounded">DIGITAL</span> |
| <i data-feather="more-vertical" class="text-gray-400 cursor-pointer"></i> |
| </div> |
| <h4 class="font-medium text-gray-900 mb-2">Surveillance Video</h4> |
| <p class="text-sm text-gray-600 mb-3">Bank security footage showing suspects.</p> |
| <div class="flex items-center justify-between text-xs text-gray-500"> |
| <span>Logged: Nov 16</span> |
| <div class="flex items-center"> |
| <i data-feather="user" class="w-3 h-3 mr-1"></i> |
| <span>Tech Analyst</span> |
| </div> |
| </div> |
| </div> |
| |
| <div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm evidence-card transition duration-300 ease-in-out"> |
| <div class="flex items-start justify-between mb-3"> |
| <span class="px-2 py-1 bg-purple-100 text-purple-800 text-xs font-medium rounded">DOCUMENT</span> |
| <i data-feather="more-vertical" class="text-gray-400 cursor-pointer"></i> |
| </div> |
| <h4 class="font-medium text-gray-900 mb-2">Bank Transaction Logs</h4> |
| <p class="text-sm text-gray-600 mb-3">Showing unusual activity prior to incident.</p> |
| <div class="flex items-center justify-between text-xs text-gray-500"> |
| <span>Logged: Nov 17</span> |
| <div class="flex items-center"> |
| <i data-feather="user" class="w-3 h-3 mr-1"></i> |
| <span>Agent Doe</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </main> |
| </div> |
|
|
| |
| <div class="fixed bottom-6 right-6"> |
| <div class="flex flex-col items-end space-y-3"> |
| <button class="w-14 h-14 rounded-full bg-red-600 text-white shadow-lg flex items-center justify-center hover:bg-red-700 transition duration-300"> |
| <i data-feather="plus" class="w-6 h-6"></i> |
| </button> |
| <div class="hidden flex-col space-y-2"> |
| <button class="w-12 h-12 rounded-full bg-blue-600 text-white shadow-md flex items-center justify-center hover:bg-blue-700 transition duration-300"> |
| <i data-feather="file-text" class="w-5 h-5"></i> |
| </button> |
| <button class="w-12 h-12 rounded-full bg-green-600 text-white shadow-md flex items-center justify-center hover:bg-green-700 transition duration-300"> |
| <i data-feather="camera" class="w-5 h-5"></i> |
| </button> |
| <button class="w-12 h-12 rounded-full bg-purple-600 text-white shadow-md flex items-center justify-center hover:bg-purple-700 transition duration-300"> |
| <i data-feather="mic" class="w-5 h-5"></i> |
| </button> |
| </div> |
| </div> |
| </div> |
|
|
| <script> |
| |
| VANTA.NET({ |
| el: "#vanta-bg", |
| mouseControls: true, |
| touchControls: true, |
| gyroControls: false, |
| minHeight: 200.00, |
| minWidth: 200.00, |
| scale: 1.00, |
| scaleMobile: 1.00, |
| color: 0xef4444, |
| backgroundColor: 0xf8fafc, |
| points: 10.00, |
| maxDistance: 22.00, |
| spacing: 17.00 |
| }); |
| |
| |
| feather.replace(); |
| |
| |
| const mainAction = document.querySelector('.fixed button'); |
| const actionMenu = document.querySelector('.fixed .hidden'); |
| |
| mainAction.addEventListener('click', () => { |
| actionMenu.classList.toggle('hidden'); |
| actionMenu.classList.toggle('flex'); |
| }); |
| </script> |
| </body> |
| </html> |
|
|