Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Modern Dashboard UI</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"> | |
<script> | |
tailwind.config = { | |
darkMode: 'class', | |
theme: { | |
extend: { | |
colors: { | |
primary: { | |
50: '#f0f9ff', | |
100: '#e0f2fe', | |
500: '#3b82f6', | |
600: '#2563eb', | |
700: '#1d4ed8', | |
}, | |
dark: { | |
800: '#1e293b', | |
900: '#0f172a', | |
} | |
} | |
} | |
} | |
} | |
</script> | |
<style> | |
.gradient-bg { | |
background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%); | |
} | |
.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); | |
} | |
.sidebar { | |
transition: all 0.3s ease; | |
} | |
@media (max-width: 768px) { | |
.sidebar { | |
transform: translateX(-100%); | |
} | |
.sidebar.open { | |
transform: translateX(0); | |
} | |
} | |
</style> | |
</head> | |
<body class="bg-gray-50 dark:bg-dark-900 text-gray-800 dark:text-gray-200 transition-colors duration-300"> | |
<div class="flex h-screen overflow-hidden"> | |
<!-- Mobile menu button --> | |
<button id="mobile-menu-button" class="md:hidden fixed top-4 left-4 z-50 p-2 rounded-md bg-white dark:bg-dark-800 shadow-lg"> | |
<i class="fas fa-bars text-gray-800 dark:text-gray-200"></i> | |
</button> | |
<!-- Sidebar --> | |
<div id="sidebar" class="sidebar w-64 bg-white dark:bg-dark-800 shadow-lg fixed h-full z-40"> | |
<div class="p-4 flex items-center justify-between border-b border-gray-200 dark:border-gray-700"> | |
<div class="flex items-center space-x-2"> | |
<div class="w-8 h-8 rounded-full gradient-bg flex items-center justify-center text-white"> | |
<i class="fas fa-rocket"></i> | |
</div> | |
<span class="font-bold text-lg">DashboardPro</span> | |
</div> | |
<button id="close-sidebar" class="md:hidden p-1 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700"> | |
<i class="fas fa-times"></i> | |
</button> | |
</div> | |
<div class="p-4"> | |
<div class="mb-6"> | |
<div class="relative"> | |
<input type="text" placeholder="Search..." class="w-full pl-10 pr-4 py-2 rounded-lg bg-gray-100 dark:bg-gray-700 border-none focus:ring-2 focus:ring-primary-500"> | |
<i class="fas fa-search absolute left-3 top-3 text-gray-500"></i> | |
</div> | |
</div> | |
<nav> | |
<div class="space-y-1"> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg bg-primary-100 dark:bg-gray-700 text-primary-700 dark:text-white"> | |
<i class="fas fa-home w-5"></i> | |
<span>Dashboard</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-chart-line w-5"></i> | |
<span>Analytics</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-envelope w-5"></i> | |
<span>Messages</span> | |
<span class="ml-auto bg-primary-500 text-white text-xs px-2 py-1 rounded-full">5</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-users w-5"></i> | |
<span>Team</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-cog w-5"></i> | |
<span>Settings</span> | |
</a> | |
</div> | |
<div class="mt-8 pt-4 border-t border-gray-200 dark:border-gray-700"> | |
<h3 class="text-xs uppercase font-semibold text-gray-500 dark:text-gray-400 mb-3">Projects</h3> | |
<div class="space-y-1"> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<div class="w-2 h-2 rounded-full bg-green-500"></div> | |
<span>Website Redesign</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<div class="w-2 h-2 rounded-full bg-yellow-500"></div> | |
<span>Mobile App</span> | |
</a> | |
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<div class="w-2 h-2 rounded-full bg-red-500"></div> | |
<span>Marketing</span> | |
</a> | |
</div> | |
</div> | |
</nav> | |
</div> | |
<div class="absolute bottom-0 left-0 right-0 p-4 border-t border-gray-200 dark:border-gray-700"> | |
<div class="flex items-center space-x-3"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="User" class="w-10 h-10 rounded-full"> | |
<div class="flex-1"> | |
<p class="font-medium">Sarah Johnson</p> | |
<p class="text-xs text-gray-500">Admin</p> | |
</div> | |
<button id="theme-toggle" class="p-2 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700"> | |
<i class="fas fa-moon dark:hidden"></i> | |
<i class="fas fa-sun hidden dark:block"></i> | |
</button> | |
</div> | |
</div> | |
</div> | |
<!-- Main content --> | |
<div class="flex-1 overflow-auto ml-0 md:ml-64 transition-all duration-300"> | |
<header class="bg-white dark:bg-dark-800 shadow-sm p-4"> | |
<div class="flex justify-between items-center"> | |
<h1 class="text-2xl font-bold">Dashboard Overview</h1> | |
<div class="flex items-center space-x-4"> | |
<div class="relative"> | |
<button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-bell"></i> | |
<span class="absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full"></span> | |
</button> | |
</div> | |
<div class="hidden md:flex items-center space-x-2"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="User" class="w-8 h-8 rounded-full"> | |
<span>Sarah Johnson</span> | |
</div> | |
</div> | |
</div> | |
</header> | |
<main class="p-4"> | |
<!-- Stats Cards --> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6 card-hover transition-all duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-gray-500 dark:text-gray-400">Total Revenue</p> | |
<h3 class="text-2xl font-bold mt-1">$24,780</h3> | |
<p class="text-sm text-green-500 mt-2"> | |
<i class="fas fa-arrow-up mr-1"></i> 12.5% from last month | |
</p> | |
</div> | |
<div class="w-12 h-12 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center text-green-600 dark:text-green-400"> | |
<i class="fas fa-dollar-sign text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6 card-hover transition-all duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-gray-500 dark:text-gray-400">New Users</p> | |
<h3 class="text-2xl font-bold mt-1">1,254</h3> | |
<p class="text-sm text-red-500 mt-2"> | |
<i class="fas fa-arrow-down mr-1"></i> 3.2% from last month | |
</p> | |
</div> | |
<div class="w-12 h-12 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center text-blue-600 dark:text-blue-400"> | |
<i class="fas fa-users text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6 card-hover transition-all duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-gray-500 dark:text-gray-400">Active Projects</p> | |
<h3 class="text-2xl font-bold mt-1">18</h3> | |
<p class="text-sm text-green-500 mt-2"> | |
<i class="fas fa-arrow-up mr-1"></i> 2 new this week | |
</p> | |
</div> | |
<div class="w-12 h-12 rounded-full bg-purple-100 dark:bg-purple-900/30 flex items-center justify-center text-purple-600 dark:text-purple-400"> | |
<i class="fas fa-tasks text-xl"></i> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6 card-hover transition-all duration-300"> | |
<div class="flex items-center justify-between"> | |
<div> | |
<p class="text-gray-500 dark:text-gray-400">Tasks Completed</p> | |
<h3 class="text-2xl font-bold mt-1">87%</h3> | |
<p class="text-sm text-green-500 mt-2"> | |
<i class="fas fa-arrow-up mr-1"></i> 5% from last week | |
</p> | |
</div> | |
<div class="w-12 h-12 rounded-full bg-yellow-100 dark:bg-yellow-900/30 flex items-center justify-center text-yellow-600 dark:text-yellow-400"> | |
<i class="fas fa-check-circle text-xl"></i> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Charts and Tables --> | |
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"> | |
<div class="lg:col-span-2 bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6"> | |
<div class="flex items-center justify-between mb-6"> | |
<h2 class="text-lg font-semibold">Revenue Overview</h2> | |
<div class="flex space-x-2"> | |
<button class="px-3 py-1 text-sm rounded-full bg-primary-100 dark:bg-primary-900/30 text-primary-700 dark:text-primary-400">Month</button> | |
<button class="px-3 py-1 text-sm rounded-full hover:bg-gray-100 dark:hover:bg-gray-700">Week</button> | |
<button class="px-3 py-1 text-sm rounded-full hover:bg-gray-100 dark:hover:bg-gray-700">Day</button> | |
</div> | |
</div> | |
<div class="h-64"> | |
<!-- Chart placeholder --> | |
<div class="w-full h-full flex items-center justify-center bg-gray-100 dark:bg-gray-700 rounded-lg"> | |
<p class="text-gray-500">Chart will appear here</p> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm p-6"> | |
<h2 class="text-lg font-semibold mb-6">Recent Activity</h2> | |
<div class="space-y-4"> | |
<div class="flex items-start"> | |
<div class="w-8 h-8 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center text-blue-600 dark:text-blue-400 mr-3 mt-1"> | |
<i class="fas fa-file-invoice text-sm"></i> | |
</div> | |
<div> | |
<p class="font-medium">New invoice received</p> | |
<p class="text-sm text-gray-500 dark:text-gray-400">From BluePrint Inc. for $2,500</p> | |
<p class="text-xs text-gray-400 mt-1">10 minutes ago</p> | |
</div> | |
</div> | |
<div class="flex items-start"> | |
<div class="w-8 h-8 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center text-green-600 dark:text-green-400 mr-3 mt-1"> | |
<i class="fas fa-check-circle text-sm"></i> | |
</div> | |
<div> | |
<p class="font-medium">Project completed</p> | |
<p class="text-sm text-gray-500 dark:text-gray-400">Website redesign signed off</p> | |
<p class="text-xs text-gray-400 mt-1">2 hours ago</p> | |
</div> | |
</div> | |
<div class="flex items-start"> | |
<div class="w-8 h-8 rounded-full bg-purple-100 dark:bg-purple-900/30 flex items-center justify-center text-purple-600 dark:text-purple-400 mr-3 mt-1"> | |
<i class="fas fa-user-plus text-sm"></i> | |
</div> | |
<div> | |
<p class="font-medium">New team member</p> | |
<p class="text-sm text-gray-500 dark:text-gray-400">Michael joined the marketing team</p> | |
<p class="text-xs text-gray-400 mt-1">Yesterday</p> | |
</div> | |
</div> | |
<div class="flex items-start"> | |
<div class="w-8 h-8 rounded-full bg-yellow-100 dark:bg-yellow-900/30 flex items-center justify-center text-yellow-600 dark:text-yellow-400 mr-3 mt-1"> | |
<i class="fas fa-exclamation-triangle text-sm"></i> | |
</div> | |
<div> | |
<p class="font-medium">Server issue</p> | |
<p class="text-sm text-gray-500 dark:text-gray-400">High CPU usage detected</p> | |
<p class="text-xs text-gray-400 mt-1">2 days ago</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Projects Table --> | |
<div class="bg-white dark:bg-dark-800 rounded-xl shadow-sm overflow-hidden"> | |
<div class="p-6"> | |
<div class="flex items-center justify-between mb-6"> | |
<h2 class="text-lg font-semibold">Active Projects</h2> | |
<button class="px-4 py-2 bg-primary-500 hover:bg-primary-600 text-white rounded-lg text-sm font-medium transition-colors"> | |
<i class="fas fa-plus mr-2"></i> Add Project | |
</button> | |
</div> | |
<div class="overflow-x-auto"> | |
<table class="w-full"> | |
<thead> | |
<tr class="text-left text-gray-500 dark:text-gray-400 border-b border-gray-200 dark:border-gray-700"> | |
<th class="pb-3 font-medium">Project</th> | |
<th class="pb-3 font-medium">Team</th> | |
<th class="pb-3 font-medium">Status</th> | |
<th class="pb-3 font-medium">Progress</th> | |
<th class="pb-3 font-medium">Due Date</th> | |
<th class="pb-3 font-medium">Actions</th> | |
</tr> | |
</thead> | |
<tbody class="divide-y divide-gray-200 dark:divide-gray-700"> | |
<tr> | |
<td class="py-4"> | |
<div class="flex items-center"> | |
<div class="w-8 h-8 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center text-blue-600 dark:text-blue-400 mr-3"> | |
<i class="fas fa-globe text-sm"></i> | |
</div> | |
<span class="font-medium">Website Redesign</span> | |
</div> | |
</td> | |
<td class="py-4"> | |
<div class="flex -space-x-2"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/women/12.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
</div> | |
</td> | |
<td class="py-4"> | |
<span class="px-3 py-1 rounded-full text-xs font-medium bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400">On Track</span> | |
</td> | |
<td class="py-4"> | |
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> | |
<div class="bg-green-500 h-2 rounded-full" style="width: 75%"></div> | |
</div> | |
<span class="text-xs text-gray-500 dark:text-gray-400 mt-1">75% complete</span> | |
</td> | |
<td class="py-4"> | |
<span>Jun 15, 2023</span> | |
</td> | |
<td class="py-4"> | |
<button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-ellipsis-h"></i> | |
</button> | |
</td> | |
</tr> | |
<tr> | |
<td class="py-4"> | |
<div class="flex items-center"> | |
<div class="w-8 h-8 rounded-full bg-purple-100 dark:bg-purple-900/30 flex items-center justify-center text-purple-600 dark:text-purple-400 mr-3"> | |
<i class="fas fa-mobile-alt text-sm"></i> | |
</div> | |
<span class="font-medium">Mobile App</span> | |
</div> | |
</td> | |
<td class="py-4"> | |
<div class="flex -space-x-2"> | |
<img src="https://randomuser.me/api/portraits/men/75.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/women/42.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
</div> | |
</td> | |
<td class="py-4"> | |
<span class="px-3 py-1 rounded-full text-xs font-medium bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400">Delayed</span> | |
</td> | |
<td class="py-4"> | |
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> | |
<div class="bg-yellow-500 h-2 rounded-full" style="width: 45%"></div> | |
</div> | |
<span class="text-xs text-gray-500 dark:text-gray-400 mt-1">45% complete</span> | |
</td> | |
<td class="py-4"> | |
<span>Jul 2, 2023</span> | |
</td> | |
<td class="py-4"> | |
<button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-ellipsis-h"></i> | |
</button> | |
</td> | |
</tr> | |
<tr> | |
<td class="py-4"> | |
<div class="flex items-center"> | |
<div class="w-8 h-8 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center text-red-600 dark:text-red-400 mr-3"> | |
<i class="fas fa-bullhorn text-sm"></i> | |
</div> | |
<span class="font-medium">Marketing Campaign</span> | |
</div> | |
</td> | |
<td class="py-4"> | |
<div class="flex -space-x-2"> | |
<img src="https://randomuser.me/api/portraits/women/33.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/men/54.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/women/22.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
<img src="https://randomuser.me/api/portraits/men/11.jpg" alt="User" class="w-8 h-8 rounded-full border-2 border-white dark:border-dark-800"> | |
</div> | |
</td> | |
<td class="py-4"> | |
<span class="px-3 py-1 rounded-full text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400">In Review</span> | |
</td> | |
<td class="py-4"> | |
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> | |
<div class="bg-blue-500 h-2 rounded-full" style="width: 90%"></div> | |
</div> | |
<span class="text-xs text-gray-500 dark:text-gray-400 mt-1">90% complete</span> | |
</td> | |
<td class="py-4"> | |
<span>May 28, 2023</span> | |
</td> | |
<td class="py-4"> | |
<button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"> | |
<i class="fas fa-ellipsis-h"></i> | |
</button> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
</div> | |
</div> | |
</main> | |
</div> | |
</div> | |
<script> | |
// Toggle dark mode | |
const themeToggle = document.getElementById('theme-toggle'); | |
themeToggle.addEventListener('click', () => { | |
document.documentElement.classList.toggle('dark'); | |
localStorage.setItem('darkMode', document.documentElement.classList.contains('dark')); | |
}); | |
// Check for saved theme preference | |
if (localStorage.getItem('darkMode') === 'true') { | |
document.documentElement.classList.add('dark'); | |
} | |
// Mobile menu toggle | |
const mobileMenuButton = document.getElementById('mobile-menu-button'); | |
const closeSidebar = document.getElementById('close-sidebar'); | |
const sidebar = document.getElementById('sidebar'); | |
mobileMenuButton.addEventListener('click', () => { | |
sidebar.classList.add('open'); | |
}); | |
closeSidebar.addEventListener('click', () => { | |
sidebar.classList.remove('open'); | |
}); | |
// Close sidebar when clicking outside on mobile | |
document.addEventListener('click', (e) => { | |
if (window.innerWidth <= 768 && !sidebar.contains(e.target) && e.target !== mobileMenuButton) { | |
sidebar.classList.remove('open'); | |
} | |
}); | |
// Card hover effect | |
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=Jasonbourn1996itsme/gold" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |