deepsite-project-2u02q / emergency.html
MoShow's picture
Initial DeepSite commit
4fc5d1c verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Emergency - Staff Safety Dashboard</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body { font-family: 'Inter', sans-serif; }
.safety-gradient {
background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
}
.urgent-pulse {
animation: pulse-red 2s infinite;
}
@keyframes pulse-red {
0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
50% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
}
</style>
</head>
<body class="bg-gray-50 text-gray-800">
<!-- Sidebar -->
<aside id="sidebar" class="fixed left-0 top-0 h-full w-64 bg-white shadow-xl transform -translate-x-full md:translate-x-0 transition-transform duration-300 z-40">
<div class="p-6 border-b border-gray-100">
<div class="flex items-center space-x-3">
<div class="w-10 h-10 safety-gradient rounded-lg flex items-center justify-center">
<i data-lucide="shield-check" class="text-white w-6 h-6"></i>
</div>
<div>
<h1 class="font-bold text-lg text-gray-900">SafeTeam</h1>
<p class="text-xs text-gray-500">Safety Management</p>
</div>
</div>
</div>
<nav class="p-4 space-y-2">
<a href="index.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="layout-dashboard" class="w-5 h-5"></i>
<span>Dashboard</span>
</a>
<a href="incidents.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="alert-triangle" class="w-5 h-5"></i>
<span>Incidents</span>
<span class="ml-auto bg-red-500 text-white text-xs px-2 py-0.5 rounded-full">3</span>
</a>
<a href="training.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="graduation-cap" class="w-5 h-5"></i>
<span>Training</span>
</a>
<a href="live-map.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="map" class="w-5 h-5"></i>
<span>Live Map</span>
</a>
<a href="equipment.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="hard-hat" class="w-5 h-5"></i>
<span>Equipment</span>
</a>
<a href="reports.html" class="flex items-center space-x-3 px-4 py-3 text-gray-600 hover:bg-gray-50 rounded-xl transition-colors">
<i data-lucide="file-text" class="w-5 h-5"></i>
<span>Reports</span>
</a>
<a href="emergency.html" class="flex items-center space-x-3 px-4 py-3 bg-red-50 text-red-700 rounded-xl font-medium">
<i data-lucide="phone-call" class="w-5 h-5"></i>
<span>Emergency</span>
</a>
</nav>
<div class="absolute bottom-0 left-0 right-0 p-4 border-t border-gray-100">
<div class="flex items-center space-x-3 px-4 py-3">
<img src="http://static.photos/people/100x100/42" alt="User" class="w-10 h-10 rounded-full object-cover">
<div>
<p class="text-sm font-medium text-gray-900">Safety Manager</p>
<p class="text-xs text-gray-500">Admin</p>
</div>
</div>
</div>
</aside>
<!-- Main Content -->
<main class="md:ml-64 min-h-screen">
<header class="bg-white shadow-sm sticky top-0 z-30">
<div class="flex items-center justify-between px-6 py-4">
<div class="flex items-center space-x-4">
<button id="menu-toggle" class="md:hidden p-2 hover:bg-gray-100 rounded-lg">
<i data-lucide="menu" class="w-6 h-6"></i>
</button>
<div>
<h2 class="text-2xl font-bold text-gray-900">Emergency Contacts</h2>
<p class="text-sm text-gray-500">Quick access to emergency resources</p>
</div>
</div>
</div>
</header>
<div class="p-6 space-y-6">
<!-- Emergency Buttons -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<button onclick="triggerEmergency('fire')" class="urgent-pulse bg-red-600 hover:bg-red-700 text-white p-6 rounded-2xl flex items-center justify-between transition-colors">
<div class="flex items-center space-x-4">
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center">
<i data-lucide="flame" class="w-6 h-6"></i>
</div>
<div class="text-left">
<h3 class="font-bold text-lg">Fire Emergency</h3>
<p class="text-red-100 text-sm">Alert fire department</p>
</div>
</div>
<i data-lucide="arrow-right" class="w-6 h-6"></i>
</button>
<button onclick="triggerEmergency('medical')" class="urgent-pulse bg-blue-600 hover:bg-blue-700 text-white p-6 rounded-2xl flex items-center justify-between transition-colors">
<div class="flex items-center space-x-4">
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center">
<i data-lucide="heart-pulse" class="w-6 h-6"></i>
</div>
<div class="text-left">
<h3 class="font-bold text-lg">Medical Emergency</h3>
<p class="text-blue-100 text-sm">Alert medical team</p>
</div>
</div>
<i data-lucide="arrow-right" class="w-6 h-6"></i>
</button>
</div>
<!-- Emergency Contacts List -->
<div class="bg-white rounded-2xl shadow-sm border border-gray-100">
<div class="p-6 border-b border-gray-100">
<h3 class="text-lg font-bold text-gray-900">Contact Directory</h3>
</div>
<div class="divide-y divide-gray-200">
<div class="p-4 flex items-center justify-between hover:bg-gray-50">
<div class="flex items-center space-x-4">
<div class="w-10 h-10 bg-red-100 rounded-lg flex items-center justify-center">
<i data-lucide="flame" class="w-5 h-5 text-red-600"></i>
</div>
<div>
<p class="font-medium text-gray-900">Fire Department</p>
<p class="text-sm text-gray-500">Station 24 - Downtown</p>
</div>
</div>
<a href="tel:911" class="text-blue-600 hover:text-blue-700 font-medium flex items-center space-x-2">
<i data-lucide="phone" class="w-4 h-4"></i>
<span>911</span>
</a>
</div>
<div class="p-4 flex items-center justify-between hover:bg-gray-50">
<div class="flex items-center space-x-4">
<div class="w-10 h-10 bg-blue-100 rounded-lg flex items-center justify-center">
<i data-lucide="heart-pulse" class="w-5 h-5 text-blue-600"></i>
</div>
<div>
<p class="font-medium text-gray-900">Medical Emergency</p>
<p class="text-sm text-gray-500">City General Hospital</p>
</div>
</div>
<a href="tel:911" class="text-blue-600 hover:text-blue-700 font-medium flex items-center space-x-2">
<i data-lucide="phone" class="w-4 h-4"></i>
<span>911</span>
</a>
</div>
<div class="p-4 flex items-center justify-between hover:bg-gray-50">
<div class="flex items-center space-x-4">
<div class="w-10 h-12 bg-purple-100 rounded-lg flex items-center justify-center">
<i data-lucide="shield" class="w-5 h-5 text-purple-600"></i>
</div>
<div>
<p class="font-medium text-gray-900">Security Team</p>
<p class="text-sm text-gray-500">Internal security office</p>
</div>
</div>
<a href="tel:5550123" class="text-blue-600 hover:text-blue-700 font-medium flex items-center space-x-2">
<i data-lucide="phone" class="w-4 h-4"></i>
<span>555-0123</span>
</a>
</div>
<div class="p-4 flex items-center justify-between hover:bg-gray-50">
<div class="flex items-center space-x-4">
<div class="w-10 h-10 bg-green-100 rounded-lg flex items-center justify-center">
<i data-lucide="alert-triangle" class="w-5 h-5 text-green-600"></i>
</div>
<div>
<p class="font-medium text-gray-900">Poison Control</p>
<p class="text-sm text-gray-500">National hotline</p>
</div>
</div>
<a href="tel:18002221222" class="text-blue-600 hover:text-blue-700 font-medium flex items-center space-x-2">
<i data-lucide="phone" class="w-4 h-4"></i>
<span>1-800-222-1222</span>
</a>
</div>
</div>
</div>
<!-- Emergency Procedures -->
<div class="bg-white rounded-2xl shadow-sm border border-gray-100">
<div class="p-6 border-b border-gray-100">
<h3 class="text-lg font-bold text-gray-900">Emergency Procedures</h3>
</div>
<div class="p-6 space-y-4">
<div class="border border-gray-200 rounded-xl p-4">
<h4 class="font-semibold text-gray-900 flex items-center mb-2">
<i data-lucide="fire-extinguisher" class="w-5 h-5 text-red-600 mr-2"></i>
Fire Evacuation
</h4>
<ol class="text-sm text-gray-600 list-decimal list-inside space-y-1">
<li>Activate nearest fire alarm</li>
<li>Evacuate via nearest stairwell</li>
<li>Report to assembly point</li>
<li>Do not use elevators</li>
</ol>
</div>
<div class="border border-gray-200 rounded-xl p-4">
<h4 class="font-semibold text-gray-900 flex items-center mb-2">
<i data-lucide="heart-pulse" class="w-5 h-5 text-blue-600 mr-2"></i>
Medical Emergency
</h4>
<ol class="text-sm text-gray-600 list-decimal list-inside space-y-1">
<li>Call 911 immediately</li>
<li>Notify first aid responders</li>
<li>Clear area for medical access</li>
<li>Provide incident details</li>
</ol>
</div>
</div>
</div>
</div>
</main>
<!-- Toast -->
<div id="toast" class="fixed bottom-4 right-4 bg-gray-900 text-white px-6 py-3 rounded-lg shadow-lg transform translate-y-20 opacity-0 transition-all duration-300 z-50 flex items-center space-x-2">
<i data-lucide="check-circle" class="w-5 h-5 text-green-400"></i>
<span id="toast-message">Notification message</span>
</div>
<script>
lucide.createIcons();
const sidebar = document.getElementById('sidebar');
const menuToggle = document.getElementById('menu-toggle');
menuToggle.addEventListener('click', () => {
sidebar.classList.toggle('-translate-x-full');
});
function triggerEmergency(type) {
const messages = {
fire: 'Fire emergency protocol activated!',
medical: 'Medical emergency team dispatched!'
};
showToast(messages[type]);
}
function showToast(message) {
const toast = document.getElementById('toast');
const toastMessage = document.getElementById('toast-message');
toastMessage.textContent = message;
toast.classList.remove('translate-y-20', 'opacity-0');
setTimeout(() => {
toast.classList.add('translate-y-20', 'opacity-0');
}, 3000);
}
</script>
</body>
</html>