| | <!DOCTYPE html> |
| | <html lang="en"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>Interactive Dashboard</title> |
| | <script src="https://cdn.tailwindcss.com"></script> |
| | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| | <style> |
| | |
| | .card-hover: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); |
| | } |
| | |
| | .gradient-bg { |
| | background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| | } |
| | |
| | .progress-ring__circle { |
| | transition: stroke-dashoffset 0.5s; |
| | transform: rotate(-90deg); |
| | transform-origin: 50% 50%; |
| | } |
| | |
| | @keyframes float { |
| | 0% { transform: translateY(0px); } |
| | 50% { transform: translateY(-10px); } |
| | 100% { transform: translateY(0px); } |
| | } |
| | |
| | .floating { |
| | animation: float 3s ease-in-out infinite; |
| | } |
| | </style> |
| | </head> |
| | <body class="bg-gray-100 font-sans"> |
| | <div class="min-h-screen flex flex-col"> |
| | |
| | <header class="gradient-bg text-white shadow-lg"> |
| | <div class="container mx-auto px-4 py-6 flex justify-between items-center"> |
| | <div class="flex items-center space-x-2"> |
| | <i class="fas fa-rocket text-2xl"></i> |
| | <h1 class="text-2xl font-bold">NexusDash</h1> |
| | </div> |
| | <div class="flex items-center space-x-4"> |
| | <div class="relative"> |
| | <i class="fas fa-bell text-xl cursor-pointer"></i> |
| | <span class="absolute -top-1 -right-1 h-3 w-3 bg-red-500 rounded-full"></span> |
| | </div> |
| | <div class="flex items-center space-x-2"> |
| | <img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Profile" class="h-8 w-8 rounded-full"> |
| | <span class="font-medium">Sarah Johnson</span> |
| | </div> |
| | </div> |
| | </div> |
| | </header> |
| |
|
| | |
| | <main class="flex-1 container mx-auto px-4 py-8"> |
| | <div class="grid grid-cols-1 lg:grid-cols-4 gap-6"> |
| | |
| | <aside class="lg:col-span-1 bg-white rounded-xl shadow-md p-6 h-fit sticky top-8"> |
| | <nav> |
| | <ul class="space-y-3"> |
| | <li> |
| | <a href="#" class="flex items-center space-x-3 p-3 rounded-lg bg-indigo-50 text-indigo-700 font-medium"> |
| | <i class="fas fa-home"></i> |
| | <span>Dashboard</span> |
| | </a> |
| | </li> |
| | <li> |
| | <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> |
| | <i class="fas fa-chart-line"></i> |
| | <span>Analytics</span> |
| | </a> |
| | </li> |
| | <li> |
| | <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> |
| | <i class="fas fa-envelope"></i> |
| | <span>Messages</span> |
| | <span class="ml-auto bg-indigo-500 text-white text-xs px-2 py-1 rounded-full">12</span> |
| | </a> |
| | </li> |
| | <li> |
| | <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> |
| | <i class="fas fa-calendar"></i> |
| | <span>Calendar</span> |
| | </a> |
| | </li> |
| | <li> |
| | <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700"> |
| | <i class="fas fa-cog"></i> |
| | <span>Settings</span> |
| | </a> |
| | </li> |
| | </ul> |
| | </nav> |
| | |
| | <div class="mt-8"> |
| | <h3 class="text-sm font-semibold text-gray-500 uppercase tracking-wider">Teams</h3> |
| | <ul class="mt-3 space-y-2"> |
| | <li class="flex items-center"> |
| | <span class="h-2 w-2 bg-green-500 rounded-full mr-2"></span> |
| | <span class="text-gray-700">Development</span> |
| | </li> |
| | <li class="flex items-center"> |
| | <span class="h-2 w-2 bg-blue-500 rounded-full mr-2"></span> |
| | <span class="text-gray-700">Design</span> |
| | </li> |
| | <li class="flex items-center"> |
| | <span class="h-2 w-2 bg-purple-500 rounded-full mr-2"></span> |
| | <span class="text-gray-700">Marketing</span> |
| | </li> |
| | </ul> |
| | </div> |
| | </aside> |
| |
|
| | |
| | <div class="lg:col-span-3 space-y-6"> |
| | |
| | <div class="gradient-bg text-white rounded-xl shadow-lg p-6 relative overflow-hidden"> |
| | <div class="absolute -right-10 -top-10 h-32 w-32 bg-white bg-opacity-10 rounded-full"></div> |
| | <div class="absolute right-0 bottom-0 h-20 w-20 bg-white bg-opacity-10 rounded-full"></div> |
| | <div class="relative z-10"> |
| | <h2 class="text-2xl font-bold mb-2">Welcome back, Sarah!</h2> |
| | <p class="mb-6 opacity-90">Here's what's happening with your projects today.</p> |
| | <button class="bg-white text-indigo-700 px-4 py-2 rounded-lg font-medium hover:bg-opacity-90 transition"> |
| | View Reports |
| | </button> |
| | </div> |
| | <div class="absolute right-10 bottom-0 floating"> |
| | <i class="fas fa-chart-pie text-6xl opacity-20"></i> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> |
| | <div class="bg-white rounded-xl shadow-md p-6 card-hover transition"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">Total Revenue</p> |
| | <h3 class="text-2xl font-bold mt-1">$24,780</h3> |
| | <p class="text-green-500 text-sm mt-2 flex items-center"> |
| | <i class="fas fa-arrow-up mr-1"></i> 12% from last month |
| | </p> |
| | </div> |
| | <div class="bg-green-100 p-3 rounded-full"> |
| | <i class="fas fa-dollar-sign text-green-600"></i> |
| | </div> |
| | </div> |
| | </div> |
| | |
| | <div class="bg-white rounded-xl shadow-md p-6 card-hover transition"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">New Users</p> |
| | <h3 class="text-2xl font-bold mt-1">1,245</h3> |
| | <p class="text-blue-500 text-sm mt-2 flex items-center"> |
| | <i class="fas fa-arrow-up mr-1"></i> 8% from last month |
| | </p> |
| | </div> |
| | <div class="bg-blue-100 p-3 rounded-full"> |
| | <i class="fas fa-users text-blue-600"></i> |
| | </div> |
| | </div> |
| | </div> |
| | |
| | <div class="bg-white rounded-xl shadow-md p-6 card-hover transition"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">Active Projects</p> |
| | <h3 class="text-2xl font-bold mt-1">14</h3> |
| | <p class="text-purple-500 text-sm mt-2 flex items-center"> |
| | <i class="fas fa-arrow-down mr-1"></i> 2% from last month |
| | </p> |
| | </div> |
| | <div class="bg-purple-100 p-3 rounded-full"> |
| | <i class="fas fa-tasks text-purple-600"></i> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="bg-white rounded-xl shadow-md overflow-hidden"> |
| | <div class="p-6 border-b border-gray-200 flex justify-between items-center"> |
| | <h3 class="text-lg font-semibold">Recent Projects</h3> |
| | <button class="text-indigo-600 hover:text-indigo-800 text-sm font-medium"> |
| | View All |
| | </button> |
| | </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">Project</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Team</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Progress</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Due Date</th> |
| | </tr> |
| | </thead> |
| | <tbody class="bg-white divide-y divide-gray-200"> |
| | <tr class="hover:bg-gray-50"> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex items-center"> |
| | <div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center"> |
| | <i class="fas fa-mobile-alt text-indigo-600"></i> |
| | </div> |
| | <div class="ml-4"> |
| | <div class="text-sm font-medium text-gray-900">Mobile App Redesign</div> |
| | <div class="text-sm text-gray-500">UI/UX</div> |
| | </div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex -space-x-2"> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/men/32.jpg" alt=""> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/women/22.jpg" alt=""> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/men/45.jpg" alt=""> |
| | </div> |
| | </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">Active</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="w-full bg-gray-200 rounded-full h-2"> |
| | <div class="bg-green-500 h-2 rounded-full" style="width: 75%"></div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Jun 15, 2023</td> |
| | </tr> |
| | <tr class="hover:bg-gray-50"> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex items-center"> |
| | <div class="flex-shrink-0 h-10 w-10 bg-blue-100 rounded-full flex items-center justify-center"> |
| | <i class="fas fa-globe text-blue-600"></i> |
| | </div> |
| | <div class="ml-4"> |
| | <div class="text-sm font-medium text-gray-900">Website Launch</div> |
| | <div class="text-sm text-gray-500">Development</div> |
| | </div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex -space-x-2"> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/men/12.jpg" alt=""> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/women/33.jpg" alt=""> |
| | </div> |
| | </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">Pending</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="w-full bg-gray-200 rounded-full h-2"> |
| | <div class="bg-yellow-500 h-2 rounded-full" style="width: 45%"></div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Jul 2, 2023</td> |
| | </tr> |
| | <tr class="hover:bg-gray-50"> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex items-center"> |
| | <div class="flex-shrink-0 h-10 w-10 bg-purple-100 rounded-full flex items-center justify-center"> |
| | <i class="fas fa-bullhorn text-purple-600"></i> |
| | </div> |
| | <div class="ml-4"> |
| | <div class="text-sm font-medium text-gray-900">Marketing Campaign</div> |
| | <div class="text-sm text-gray-500">Marketing</div> |
| | </div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="flex -space-x-2"> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/women/44.jpg" alt=""> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/men/28.jpg" alt=""> |
| | <img class="h-8 w-8 rounded-full border-2 border-white" src="https://randomuser.me/api/portraits/women/15.jpg" alt=""> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">Delayed</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <div class="w-full bg-gray-200 rounded-full h-2"> |
| | <div class="bg-red-500 h-2 rounded-full" style="width: 30%"></div> |
| | </div> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">May 28, 2023</td> |
| | </tr> |
| | </tbody> |
| | </table> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"> |
| | |
| | <div class="bg-white rounded-xl shadow-md p-6"> |
| | <div class="flex justify-between items-center mb-6"> |
| | <h3 class="text-lg font-semibold">Revenue Overview</h3> |
| | <select class="border border-gray-300 rounded-md px-3 py-1 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500"> |
| | <option>Last 7 days</option> |
| | <option>Last 30 days</option> |
| | <option selected>Last 90 days</option> |
| | </select> |
| | </div> |
| | <div class="h-64"> |
| | <canvas id="lineChart"></canvas> |
| | </div> |
| | </div> |
| | |
| | |
| | <div class="bg-white rounded-xl shadow-md p-6"> |
| | <div class="flex justify-between items-center mb-6"> |
| | <h3 class="text-lg font-semibold">Traffic Sources</h3> |
| | <button class="text-indigo-600 hover:text-indigo-800 text-sm font-medium"> |
| | View Details |
| | </button> |
| | </div> |
| | <div class="h-64"> |
| | <canvas id="doughnutChart"></canvas> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| | </main> |
| |
|
| | |
| | <footer class="bg-white border-t border-gray-200 py-6"> |
| | <div class="container mx-auto px-4"> |
| | <div class="flex flex-col md:flex-row justify-between items-center"> |
| | <div class="flex items-center space-x-2 mb-4 md:mb-0"> |
| | <i class="fas fa-rocket text-indigo-600"></i> |
| | <span class="font-medium">NexusDash</span> |
| | </div> |
| | <div class="text-sm text-gray-500"> |
| | © 2023 NexusDash. All rights reserved. |
| | </div> |
| | <div class="flex space-x-4 mt-4 md:mt-0"> |
| | <a href="#" class="text-gray-500 hover:text-gray-700"> |
| | <i class="fab fa-twitter"></i> |
| | </a> |
| | <a href="#" class="text-gray-500 hover:text-gray-700"> |
| | <i class="fab fa-facebook"></i> |
| | </a> |
| | <a href="#" class="text-gray-500 hover:text-gray-700"> |
| | <i class="fab fa-linkedin"></i> |
| | </a> |
| | <a href="#" class="text-gray-500 hover:text-gray-700"> |
| | <i class="fab fa-github"></i> |
| | </a> |
| | </div> |
| | </div> |
| | </div> |
| | </footer> |
| | </div> |
| |
|
| | <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> |
| | <script> |
| | |
| | document.addEventListener('DOMContentLoaded', function() { |
| | |
| | const lineCtx = document.getElementById('lineChart').getContext('2d'); |
| | const lineChart = new Chart(lineCtx, { |
| | type: 'line', |
| | data: { |
| | labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], |
| | datasets: [{ |
| | label: 'Revenue', |
| | data: [12000, 19000, 15000, 18000, 22000, 24000], |
| | borderColor: '#667eea', |
| | backgroundColor: 'rgba(102, 126, 234, 0.1)', |
| | borderWidth: 2, |
| | fill: true, |
| | tension: 0.4 |
| | }] |
| | }, |
| | options: { |
| | responsive: true, |
| | maintainAspectRatio: false, |
| | plugins: { |
| | legend: { |
| | display: false |
| | } |
| | }, |
| | scales: { |
| | y: { |
| | beginAtZero: false, |
| | grid: { |
| | drawBorder: false |
| | } |
| | }, |
| | x: { |
| | grid: { |
| | display: false |
| | } |
| | } |
| | } |
| | } |
| | }); |
| | |
| | |
| | const doughnutCtx = document.getElementById('doughnutChart').getContext('2d'); |
| | const doughnutChart = new Chart(doughnutCtx, { |
| | type: 'doughnut', |
| | data: { |
| | labels: ['Direct', 'Organic', 'Referral', 'Social'], |
| | datasets: [{ |
| | data: [35, 25, 20, 20], |
| | backgroundColor: [ |
| | '#667eea', |
| | '#764ba2', |
| | '#ff9a9e', |
| | '#fad0c4' |
| | ], |
| | borderWidth: 0, |
| | hoverOffset: 10 |
| | }] |
| | }, |
| | options: { |
| | responsive: true, |
| | maintainAspectRatio: false, |
| | cutout: '70%', |
| | plugins: { |
| | legend: { |
| | position: 'right', |
| | } |
| | } |
| | } |
| | }); |
| | |
| | |
| | const floatingIcon = document.querySelector('.floating'); |
| | floatingIcon.addEventListener('mouseenter', () => { |
| | floatingIcon.style.animationPlayState = 'paused'; |
| | }); |
| | floatingIcon.addEventListener('mouseleave', () => { |
| | floatingIcon.style.animationPlayState = 'running'; |
| | }); |
| | |
| | |
| | const cards = document.querySelectorAll('.card-hover'); |
| | cards.forEach(card => { |
| | card.addEventListener('mouseenter', () => { |
| | card.classList.add('shadow-lg'); |
| | }); |
| | card.addEventListener('mouseleave', () => { |
| | card.classList.remove('shadow-lg'); |
| | }); |
| | }); |
| | }); |
| | </script> |
| | <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=jkind/nexusdash" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| | </html> |