CoolFace
Apppublic

Longandlean/hazardguard-pro

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
index.html416 linesDownload Raw Back to root
1<!DOCTYPE html>2<html lang="en">3<head>4    <meta charset="UTF-8">5    <meta name="viewport" content="width=device-width, initial-scale=1.0">6    <title>HazardGuard Pro - Military Risk Assessment Suite</title>7<link rel="icon" type="image/x-icon" href="/static/favicon.ico">8    <script src="https://cdn.tailwindcss.com"></script>9    <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>10    <script src="https://unpkg.com/feather-icons"></script>11    <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>12    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>13    <script>14        tailwind.config = {15            theme: {16                extend: {17                    colors: {18                        primary: '#3b82f6', // blue-500 as default primary19                        secondary: '#10b981', // emerald-500 as default secondary20                        danger: '#ef4444', // red-500 for hazards21                        warning: '#f59e0b', // amber-500 for warnings22                    }23                }24            }25        }26    </script>27    <style>28        body {29            background-image: url('https://static.photos/military/1200x630/2');30            background-size: cover;31            background-attachment: fixed;32            background-position: center;33        }34        .content-overlay {35            background-color: rgba(255, 255, 255, 0.95);36            backdrop-filter: blur(5px);37        }38.hazard-card {39            transition: all 0.3s ease;40            border-left: 4px solid #ef4444;41        }42        .hazard-card:hover {43            transform: translateY(-5px);44            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);45        }46        .sidebar {47            transition: all 0.3s ease;48        }49        @media (max-width: 768px) {50            .sidebar {51                transform: translateX(-100%);52                position: fixed;53                z-index: 50;54                height: 100vh;55            }56            .sidebar.active {57                transform: translateX(0);58            }59        }60    </style>61</head>62<body class="min-h-screen">63    <div class="content-overlay min-h-screen">64<!-- Mobile Menu Button -->65    <button class="md:hidden fixed top-4 left-4 z-50 bg-primary text-white p-2 rounded-full shadow-lg" id="menuToggle">66        <i data-feather="menu"></i>67    </button>68 69    <!-- Sidebar Navigation -->70    <div class="sidebar bg-white w-64 min-h-screen fixed shadow-lg md:relative md:translate-x-0">71        <div class="p-4 border-b border-gray-200 flex items-center">72            <div class="bg-primary w-10 h-10 rounded-full flex items-center justify-center text-white font-bold">73                <img src="https://static.photos/military/200x200/1" alt="Military Shield" class="w-full h-full rounded-full object-cover">74            </div>75            <h1 class="ml-3 font-bold text-xl text-gray-800">HAZARDGUARD <span class="text-primary">PRO</span></h1>76</div>77        <nav class="mt-6">78            <div class="px-4">79                <div class="text-xs uppercase font-semibold text-gray-500 mb-2">Main Menu</div>80                <a href="#" class="flex items-center py-2 px-4 bg-primary/10 text-primary rounded-lg mb-1">81                    <i data-feather="home" class="w-5 h-5 mr-3"></i>82                    Dashboard83                </a>84                    <a href="report-builder.html" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">85                    <i data-feather="activity" class="w-5 h-5 mr-3"></i>86                    Risk Assessments87</a>88                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">89                    <i data-feather="alert-triangle" class="w-5 h-5 mr-3"></i>90                    Chemicals Database91                </a>92                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">93                    <i data-feather="zap" class="w-5 h-5 mr-3"></i>94                    Explosives (Yellowbook)95                </a>96                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">97                    <i data-feather="hard-drive" class="w-5 h-5 mr-3"></i>98                    Equipment Hazards99                </a>100                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">101                    <i data-feather="factory" class="w-5 h-5 mr-3"></i>102                    Facilities103                </a>104                <a href="report-builder.html" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">105                    <i data-feather="file-text" class="w-5 h-5 mr-3"></i>106                    Report Builder (DD2977)107                </a>108</div>109            <div class="px-4 mt-6">110                <div class="text-xs uppercase font-semibold text-gray-500 mb-2">Tools</div>111                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">112                    <i data-feather="shield" class="w-5 h-5 mr-3"></i>113                    PPE Advisor114                </a>115                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">116                    <i data-feather="map" class="w-5 h-5 mr-3"></i>117                    Evacuation Planner118                </a>119                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">120                    <i data-feather="tool" class="w-5 h-5 mr-3"></i>121                    SDS Finder122                </a>123                <a href="#" class="flex items-center py-2 px-4 text-gray-600 hover:bg-gray-100 rounded-lg mb-1">124                    <i data-feather="map-pin" class="w-5 h-5 mr-3"></i>125                    Site Inspector126</a>127            </div>128        </nav>129    </div>130 131    <!-- Main Content -->132    <div class="md:ml-64">133        <!-- Top Navigation -->134        <header class="bg-gray-900 text-white shadow-md">135            <div class="max-w-7xl mx-auto px-4 py-4 sm:px-6 lg:px-8 flex justify-between items-center">136                <h2 class="text-lg font-semibold">DASHBOARD OVERVIEW</h2>137<div class="flex items-center space-x-4">138                    <div class="relative">139                        <input type="text" placeholder="Search hazards..." class="pl-10 pr-4 py-2 border border-gray-300 rounded-full focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">140                        <i data-feather="search" class="absolute left-3 top-2.5 text-gray-400"></i>141                    </div>142                    <button class="bg-primary hover:bg-primary/90 text-white px-4 py-2 rounded-lg flex items-center border border-primary-dark shadow-md">143                        <i data-feather="plus" class="w-4 h-4 mr-2"></i>144                        MISSION ASSESSMENT145                    </button>146<div class="w-10 h-10 rounded-full bg-gray-200 flex items-center justify-center">147                        <i data-feather="user"></i>148                    </div>149                </div>150            </div>151        </header>152        <!-- Dashboard Content -->153        <main class="max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8 font-sans">154            <!-- Stats Cards -->155            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8">156                <div class="bg-gray-800 text-white rounded-lg shadow-lg p-6 border-l-4 border-primary">157<div class="flex items-center justify-between">158                        <div>159                            <p class="text-sm font-medium text-gray-300">ACTIVE MISSIONS</p>160                            <p class="text-2xl font-bold mt-1 text-white">24</p>161</div>162                        <div class="bg-primary/10 p-3 rounded-full">163                            <i data-feather="file-text" class="text-primary"></i>164                        </div>165                    </div>166                    <div class="mt-4 flex items-center text-sm text-green-600">167                        <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>168                        <span>12% from last month</span>169                    </div>170                </div>171                <div class="bg-white rounded-lg shadow p-6">172                    <div class="flex items-center justify-between">173                        <div>174                            <p class="text-sm font-medium text-gray-500">Chemical Hazards</p>175                            <p class="text-2xl font-bold mt-1">156</p>176                        </div>177                        <div class="bg-danger/10 p-3 rounded-full">178                            <i data-feather="alert-triangle" class="text-danger"></i>179                        </div>180                    </div>181                    <div class="mt-4 flex items-center text-sm text-green-600">182                        <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>183                        <span>12% new entries</span>184                    </div>185                </div>186<div class="bg-white rounded-lg shadow p-6">187                    <div class="flex items-center justify-between">188                        <div>189                            <p class="text-sm font-medium text-gray-500">Explosive Items</p>190                            <p class="text-2xl font-bold mt-1">36</p>191                        </div>192                        <div class="bg-warning/10 p-3 rounded-full">193                            <i data-feather="zap" class="text-warning"></i>194                        </div>195                    </div>196                    <div class="mt-4 flex items-center text-sm text-red-600">197                        <i data-feather="trending-down" class="w-4 h-4 mr-1"></i>198                        <span>3% reduced</span>199                    </div>200                </div>201                <div class="bg-white rounded-lg shadow p-6">202                    <div class="flex items-center justify-between">203                        <div>204                            <p class="text-sm font-medium text-gray-500">PPE Requirements</p>205                            <p class="text-2xl font-bold mt-1">94</p>206                        </div>207                        <div class="bg-secondary/10 p-3 rounded-full">208                            <i data-feather="shield" class="text-secondary"></i>209                        </div>210                    </div>211                    <div class="mt-4 flex items-center text-sm text-green-600">212                        <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>213                        <span>8% more protection</span>214                    </div>215                </div>216</div>217 218            <!-- Recent Assessments -->219            <div class="bg-white rounded-lg shadow overflow-hidden mb-8">220                <div class="px-6 py-4 border-b border-gray-200">221                    <h3 class="text-lg font-medium text-gray-900">Recent Risk Assessments</h3>222                </div>223                <div class="divide-y divide-gray-200">224                    <div class="p-6 hover:bg-gray-50 cursor-pointer transition">225                        <div class="flex items-center justify-between">226                            <div>227                                <h4 class="font-medium text-gray-900">Explosives Storage Area - Monthly</h4>228                                <p class="text-sm text-gray-500 mt-1">Facility #4, Building B</p>229                            </div>230                            <div class="flex items-center">231                                <span class="bg-danger/10 text-danger px-3 py-1 rounded-full text-xs font-medium">High Risk</span>232                                <i data-feather="chevron-right" class="ml-4 text-gray-400"></i>233                            </div>234                        </div>235                        <div class="mt-4 flex items-center text-sm text-gray-500">236                            <i data-feather="calendar" class="w-4 h-4 mr-1.5"></i>237                            <span>Last updated 2 days ago</span>238                        </div>239                    </div>240                    <div class="p-6 hover:bg-gray-50 cursor-pointer transition">241                        <div class="flex items-center justify-between">242                            <div>243                                <h4 class="font-medium text-gray-900">Chemical Handling - Production Line</h4>244                                <p class="text-sm text-gray-500 mt-1">Main Manufacturing Floor</p>245                            </div>246                            <div class="flex items-center">247                                <span class="bg-warning/10 text-warning px-3 py-1 rounded-full text-xs font-medium">Medium Risk</span>248                                <i data-feather="chevron-right" class="ml-4 text-gray-400"></i>249                            </div>250                        </div>251                        <div class="mt-4 flex items-center text-sm text-gray-500">252                            <i data-feather="calendar" class="w-4 h-4 mr-1.5"></i>253                            <span>Last updated 5 days ago</span>254                        </div>255                    </div>256                    <div class="p-6 hover:bg-gray-50 cursor-pointer transition">257                        <div class="flex items-center justify-between">258                            <div>259                                <h4 class="font-medium text-gray-900">Material Handling Equipment</h4>260                                <p class="text-sm text-gray-500 mt-1">Warehouse Sector 3</p>261                            </div>262                            <div class="flex items-center">263                                <span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-xs font-medium">Low Risk</span>264                                <i data-feather="chevron-right" class="ml-4 text-gray-400"></i>265                            </div>266                        </div>267                        <div class="mt-4 flex items-center text-sm text-gray-500">268                            <i data-feather="calendar" class="w-4 h-4 mr-1.5"></i>269                            <span>Last updated 1 week ago</span>270                        </div>271                    </div>272                </div>273                <div class="px-6 py-3 bg-gray-50 text-right">274                    <a href="#" class="text-sm font-medium text-primary hover:text-primary/90">View all assessments</a>275                </div>276            </div>277 278            <!-- Charts Section -->279            <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">280                <div class="bg-white rounded-lg shadow p-6">281                    <h3 class="text-lg font-medium text-gray-900 mb-4">Hazard Distribution</h3>282                    <canvas id="hazardChart" height="250"></canvas>283                </div>284                <div class="bg-white rounded-lg shadow p-6">285                    <h3 class="text-lg font-medium text-gray-900 mb-4">Risk Level Trends</h3>286                    <canvas id="riskChart" height="250"></canvas>287                </div>288            </div>289 290            <!-- Quick Actions -->291            <div class="bg-white rounded-lg shadow overflow-hidden">292                <div class="px-6 py-4 border-b border-gray-200">293                    <h3 class="text-lg font-medium text-gray-900">Quick Actions</h3>294                </div>295                <div class="grid grid-cols-2 md:grid-cols-4 gap-6 p-6">296                    <a href="#" class="flex flex-col items-center justify-center p-4 border border-gray-200 rounded-lg hover:border-primary hover:bg-primary/5 transition">297                        <div class="bg-primary/10 p-3 rounded-full mb-3">298                            <i data-feather="file-plus" class="text-primary"></i>299                        </div>300                        <span class="font-medium text-gray-900">New Assessment</span>301                    </a>302                    <a href="#" class="flex flex-col items-center justify-center p-4 border border-gray-200 rounded-lg hover:border-danger hover:bg-danger/5 transition">303                        <div class="bg-danger/10 p-3 rounded-full mb-3">304                            <i data-feather="alert-triangle" class="text-danger"></i>305                        </div>306                        <span class="font-medium text-gray-900">Add Hazard</span>307                    </a>308                    <a href="#" class="flex flex-col items-center justify-center p-4 border border-gray-200 rounded-lg hover:border-warning hover:bg-warning/5 transition">309                        <div class="bg-warning/10 p-3 rounded-full mb-3">310                            <i data-feather="zap" class="text-warning"></i>311                        </div>312                        <span class="font-medium text-gray-900">Explosives Tool</span>313                    </a>314                    <a href="#" class="flex flex-col items-center justify-center p-4 border border-gray-200 rounded-lg hover:border-secondary hover:bg-secondary/5 transition">315                        <div class="bg-secondary/10 p-3 rounded-full mb-3">316                            <i data-feather="shield" class="text-secondary"></i>317                        </div>318                        <span class="font-medium text-gray-900">PPE Advisor</span>319                    </a>320                </div>321            </div>322        </main>323    </div>324 325    <script>326        // Mobile menu toggle327        document.getElementById('menuToggle').addEventListener('click', function() {328            document.querySelector('.sidebar').classList.toggle('active');329        });330 331        // Initialize charts332        document.addEventListener('DOMContentLoaded', function() {333            feather.replace();334            335            // Hazard Distribution Chart336            const hazardCtx = document.getElementById('hazardChart').getContext('2d');337            const hazardChart = new Chart(hazardCtx, {338                type: 'doughnut',339                data: {340                    labels: ['Chemical', 'Explosives', 'Equipment', 'Material Handling', 'Manufacturing'],341                    datasets: [{342                        data: [35, 15, 25, 15, 10],343                        backgroundColor: [344                            '#ef4444', // red for chemical345                            '#f59e0b', // amber for explosives346                            '#3b82f6', // blue for equipment347                            '#10b981', // emerald for material handling348                            '#8b5cf6' // violet for manufacturing349                        ],350                        borderWidth: 0351                    }]352                },353                options: {354                    responsive: true,355                    plugins: {356                        legend: {357                            position: 'bottom'358                        }359                    }360                }361            });362 363            // Risk Level Trends Chart364            const riskCtx = document.getElementById('riskChart').getContext('2d');365            const riskChart = new Chart(riskCtx, {366                type: 'line',367                data: {368                    labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],369                    datasets: [370                        {371                            label: 'High Risk',372                            data: [12, 15, 18, 10, 14, 16, 13],373                            borderColor: '#ef4444',374                            backgroundColor: 'rgba(239, 68, 68, 0.1)',375                            tension: 0.3,376                            fill: true377                        },378                        {379                            label: 'Medium Risk',380                            data: [24, 22, 20, 25, 23, 21, 24],381                            borderColor: '#f59e0b',382                            backgroundColor: 'rgba(245, 158, 11, 0.1)',383                            tension: 0.3,384                            fill: true385                        },386                        {387                            label: 'Low Risk',388                            data: [32, 35, 38, 40, 37, 39, 42],389                            borderColor: '#10b981',390                            backgroundColor: 'rgba(16, 185, 129, 0.1)',391                            tension: 0.3,392                            fill: true393                        }394                    ]395                },396                options: {397                    responsive: true,398                    plugins: {399                        legend: {400                            position: 'bottom'401                        }402                    },403                    scales: {404                        y: {405                            beginAtZero: true406                        }407                    }408                }409            });410        // Close content overlay div411        </div>412});413    </script>414</body>415</html>416