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</title> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| } | |
| :root { | |
| --primary: #4f46e5; | |
| --primary-light: #818cf8; | |
| --secondary: #f8fafc; | |
| --dark: #1e293b; | |
| --text: #475569; | |
| --text-light: #94a3b8; | |
| --success: #10b981; | |
| --warning: #f59e0b; | |
| --danger: #ef4444; | |
| --border: #e2e8f0; | |
| --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | |
| --radius: 8px; | |
| } | |
| body { | |
| background-color: #f1f5f9; | |
| color: var(--text); | |
| display: flex; | |
| min-height: 100vh; | |
| } | |
| /* Sidebar Styles */ | |
| .sidebar { | |
| width: 260px; | |
| background: white; | |
| box-shadow: var(--shadow); | |
| display: flex; | |
| flex-direction: column; | |
| transition: all 0.3s ease; | |
| z-index: 100; | |
| } | |
| .sidebar-header { | |
| padding: 1.5rem; | |
| border-bottom: 1px solid var(--border); | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .logo { | |
| width: 40px; | |
| height: 40px; | |
| background: var(--primary); | |
| border-radius: var(--radius); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| font-weight: bold; | |
| } | |
| .logo-text { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--dark); | |
| } | |
| .sidebar-nav { | |
| flex: 1; | |
| padding: 1.5rem 0; | |
| } | |
| .nav-item { | |
| display: flex; | |
| align-items: center; | |
| padding: 0.75rem 1.5rem; | |
| color: var(--text); | |
| text-decoration: none; | |
| transition: all 0.2s; | |
| gap: 12px; | |
| } | |
| .nav-item:hover { | |
| background: var(--secondary); | |
| color: var(--primary); | |
| } | |
| .nav-item.active { | |
| background: var(--primary-light); | |
| color: white; | |
| border-right: 3px solid var(--primary); | |
| } | |
| .nav-item i { | |
| width: 20px; | |
| text-align: center; | |
| } | |
| .sidebar-footer { | |
| padding: 1.5rem; | |
| border-top: 1px solid var(--border); | |
| } | |
| .user-profile { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .user-avatar { | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| background: var(--primary); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| font-weight: bold; | |
| } | |
| .user-info h4 { | |
| font-size: 0.9rem; | |
| color: var(--dark); | |
| } | |
| .user-info p { | |
| font-size: 0.8rem; | |
| color: var(--text-light); | |
| } | |
| /* Main Content Styles */ | |
| .main-content { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| overflow: auto; | |
| } | |
| .top-bar { | |
| background: white; | |
| padding: 1rem 2rem; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| box-shadow: var(--shadow); | |
| z-index: 10; | |
| } | |
| .search-bar { | |
| display: flex; | |
| align-items: center; | |
| background: var(--secondary); | |
| border-radius: var(--radius); | |
| padding: 0.5rem 1rem; | |
| width: 400px; | |
| } | |
| .search-bar input { | |
| border: none; | |
| background: transparent; | |
| padding: 0.5rem; | |
| width: 100%; | |
| outline: none; | |
| } | |
| .top-actions { | |
| display: flex; | |
| align-items: center; | |
| gap: 1.5rem; | |
| } | |
| .notification { | |
| position: relative; | |
| } | |
| .notification-badge { | |
| position: absolute; | |
| top: -5px; | |
| right: -5px; | |
| background: var(--danger); | |
| color: white; | |
| border-radius: 50%; | |
| width: 18px; | |
| height: 18px; | |
| font-size: 0.7rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .action-btn { | |
| background: none; | |
| border: none; | |
| color: var(--text); | |
| font-size: 1.2rem; | |
| cursor: pointer; | |
| transition: color 0.2s; | |
| } | |
| .action-btn:hover { | |
| color: var(--primary); | |
| } | |
| .content-area { | |
| padding: 2rem; | |
| flex: 1; | |
| } | |
| .welcome-section { | |
| margin-bottom: 2rem; | |
| } | |
| .welcome-section h1 { | |
| font-size: 1.8rem; | |
| color: var(--dark); | |
| margin-bottom: 0.5rem; | |
| } | |
| .welcome-section p { | |
| color: var(--text-light); | |
| } | |
| /* Stats Cards */ | |
| .stats-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); | |
| gap: 1.5rem; | |
| margin-bottom: 2rem; | |
| } | |
| .stat-card { | |
| background: white; | |
| border-radius: var(--radius); | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow); | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .stat-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 1rem; | |
| } | |
| .stat-icon { | |
| width: 48px; | |
| height: 48px; | |
| border-radius: var(--radius); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 1.5rem; | |
| } | |
| .stat-icon.blue { | |
| background: #dbeafe; | |
| color: var(--primary); | |
| } | |
| .stat-icon.green { | |
| background: #d1fae5; | |
| color: var(--success); | |
| } | |
| .stat-icon.orange { | |
| background: #fef3c7; | |
| color: var(--warning); | |
| } | |
| .stat-icon.purple { | |
| background: #f3e8ff; | |
| color: #8b5cf6; | |
| } | |
| .stat-value { | |
| font-size: 1.8rem; | |
| font-weight: 700; | |
| color: var(--dark); | |
| margin-bottom: 0.5rem; | |
| } | |
| .stat-label { | |
| color: var(--text-light); | |
| font-size: 0.9rem; | |
| } | |
| .stat-change { | |
| display: flex; | |
| align-items: center; | |
| gap: 4px; | |
| font-size: 0.8rem; | |
| margin-top: 0.5rem; | |
| } | |
| .stat-change.positive { | |
| color: var(--success); | |
| } | |
| .stat-change.negative { | |
| color: var(--danger); | |
| } | |
| /* Charts and Tables Section */ | |
| .content-grid { | |
| display: grid; | |
| grid-template-columns: 2fr 1fr; | |
| gap: 1.5rem; | |
| } | |
| .chart-container, .recent-activity { | |
| background: white; | |
| border-radius: var(--radius); | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow); | |
| } | |
| .section-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 1.5rem; | |
| } | |
| .section-title { | |
| font-size: 1.2rem; | |
| color: var(--dark); | |
| } | |
| .view-all { | |
| color: var(--primary); | |
| text-decoration: none; | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| } | |
| .chart-placeholder { | |
| height: 300px; | |
| background: var(--secondary); | |
| border-radius: var(--radius); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--text-light); | |
| } | |
| .activity-list { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| .activity-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| padding: 0.75rem 0; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .activity-item:last-child { | |
| border-bottom: none; | |
| } | |
| .activity-icon { | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| } | |
| .activity-icon.blue { | |
| background: var(--primary); | |
| } | |
| .activity-icon.green { | |
| background: var(--success); | |
| } | |
| .activity-icon.orange { | |
| background: var(--warning); | |
| } | |
| .activity-details { | |
| flex: 1; | |
| } | |
| .activity-details h4 { | |
| font-size: 0.9rem; | |
| color: var(--dark); | |
| margin-bottom: 0.25rem; | |
| } | |
| .activity-details p { | |
| font-size: 0.8rem; | |
| color: var(--text-light); | |
| } | |
| .activity-time { | |
| font-size: 0.8rem; | |
| color: var(--text-light); | |
| } | |
| /* Mobile Responsiveness */ | |
| @media (max-width: 1024px) { | |
| .content-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .stats-grid { | |
| grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); | |
| } | |
| .search-bar { | |
| width: 300px; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .sidebar { | |
| width: 70px; | |
| } | |
| .logo-text, .nav-text, .user-info { | |
| display: none; | |
| } | |
| .nav-item { | |
| justify-content: center; | |
| padding: 1rem; | |
| } | |
| .search-bar { | |
| width: 200px; | |
| } | |
| } | |
| @media (max-width: 576px) { | |
| .top-bar { | |
| padding: 1rem; | |
| } | |
| .search-bar { | |
| width: 150px; | |
| } | |
| .stats-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| .anycoder-link { | |
| position: absolute; | |
| top: 20px; | |
| right: 20px; | |
| font-size: 0.8rem; | |
| color: var(--text-light); | |
| text-decoration: none; | |
| z-index: 1000; | |
| } | |
| .anycoder-link:hover { | |
| color: var(--primary); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <a href="https://huggingface.co/spaces/akhaliq/anycoder" class="anycoder-link">Built with anycoder</a> | |
| <!-- Sidebar --> | |
| <aside class="sidebar"> | |
| <div class="sidebar-header"> | |
| <div class="logo">D</div> | |
| <div class="logo-text">Dashboard</div> | |
| </div> | |
| <nav class="sidebar-nav"> | |
| <a href="#" class="nav-item active"> | |
| <i class="fas fa-home"></i> | |
| <span class="nav-text">Dashboard</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-chart-bar"></i> | |
| <span class="nav-text">Analytics</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-shopping-cart"></i> | |
| <span class="nav-text">E-commerce</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-envelope"></i> | |
| <span class="nav-text">Messages</span> | |
| <span class="notification-badge">3</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-calendar"></i> | |
| <span class="nav-text">Calendar</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-cog"></i> | |
| <span class="nav-text">Settings</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-user"></i> | |
| <span class="nav-text">Users</span> | |
| </a> | |
| <a href="#" class="nav-item"> | |
| <i class="fas fa-file"></i> | |
| <span class="nav-text">Documents</span> | |
| </a> | |
| </nav> | |
| <div class="sidebar-footer"> | |
| <div class="user-profile"> | |
| <div class="user-avatar">JD</div> | |
| <div class="user-info"> | |
| <h4>John Doe</h4> | |
| <p>Administrator</p> | |
| </div> | |
| </div> | |
| </div> | |
| </aside> | |
| <!-- Main Content --> | |
| <main class="main-content"> | |
| <header class="top-bar"> | |
| <div class="search-bar"> | |
| <i class="fas fa-search"></i> | |
| <input type="text" placeholder="Search..."> | |
| </div> | |
| <div class="top-actions"> | |
| <button class="action-btn notification"> | |
| <i class="fas fa-bell"></i> | |
| <span class="notification-badge">5</span> | |
| </button> | |
| <button class="action-btn"> | |
| <i class="fas fa-cog"></i> | |
| </button> | |
| <button class="action-btn"> | |
| <i class="fas fa-question-circle"></i> | |
| </button> | |
| </div> | |
| </header> | |
| <section class="content-area"> | |
| <div class="welcome-section"> | |
| <h1>Welcome back, John!</h1> | |
| <p>Here's what's happening with your projects today.</p> | |
| </div> | |
| <div class="stats-grid"> | |
| <div class="stat-card"> | |
| <div class="stat-header"> | |
| <h3 class="stat-label">Total Revenue</h3> | |
| <div class="stat-icon blue"> | |
| <i class="fas fa-dollar-sign"></i> | |
| </div> | |
| </div> | |
| <div class="stat-value">$24,580</div> | |
| <div class="stat-change positive"> | |
| <i class="fas fa-arrow-up"></i> | |
| <span>12.5% from last month</span> | |
| </div> | |
| </div> | |
| <div class="stat-card"> | |
| <div class="stat-header"> | |
| <h3 class="stat-label">New Users</h3> | |
| <div class="stat-icon green"> | |
| <i class="fas fa-users"></i> | |
| </div> | |
| </div> | |
| <div class="stat-value">1,248</div> | |
| <div class="stat-change positive"> | |
| <i class="fas fa-arrow-up"></i> | |
| <span>8.2% from last week</span> | |
| </div> | |
| </div> | |
| <div class="stat-card"> | |
| <div class="stat-header"> | |
| <h3 class="stat-label">Orders</h3> | |
| <div class="stat-icon orange"> | |
| <i class="fas fa-shopping-bag"></i> | |
| </div> | |
| </div> | |
| <div class="stat-value">452</div> | |
| <div class="stat-change negative"> | |
| <i class="fas fa-arrow-down"></i> | |
| <span>3.1% from last week</span> | |
| </div> | |
| </div> | |
| <div class="stat-card"> | |
| <div class="stat-header"> | |
| <h3 class="stat-label">Pending</h3> | |
| <div class="stat-icon purple"> | |
| <i class="fas fa-clock"></i> | |
| </div> | |
| </div> | |
| <div class="stat-value">32</div> | |
| <div class="stat-change positive"> | |
| <i class="fas fa-arrow-up"></i> | |
| <span>2.4% from yesterday</span> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="content-grid"> | |
| <div class="chart-container"> | |
| <div class="section-header"> | |
| <h2 class="section-title">Revenue Overview</h2> | |
| <a href="#" class="view-all">View Report</a> | |
| </div> | |
| <div class="chart-placeholder"> | |
| <div class="chart-message"> | |
| <i class="fas fa-chart-line" style="font-size: 2rem; margin-bottom: 1rem;"></i> | |
| <p>Revenue chart visualization</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="recent-activity"> | |
| <div class="section-header"> | |
| <h2 class="section-title">Recent Activity</h2> | |
| <a href="#" class="view-all">See All</a> | |
| </div> | |
| <div class="activity-list"> | |
| <div class="activity-item"> | |
| <div class="activity-icon blue"> | |
| <i class="fas fa-shopping-cart"></i> | |
| </div> | |
| <div class="activity-details"> | |
| <h4>New order received</h4> | |
| <p>Order #4562 from John Smith</p> | |
| </div> | |
| <div class="activity-time">2 min ago</div> | |
| </div> | |
| <div class="activity-item"> | |
| <div class="activity-icon green"> | |
| <i class="fas fa-user-plus"></i> | |
| </div> | |
| <div class="activity-details"> | |
| <h4>New user registered</h4> | |
| <p>Jane Cooper joined the platform</p> | |
| </div> | |
| <div class="activity-time">1 hour ago</div> | |
| </div> | |
| <div class="activity-item"> | |
| <div class="activity-icon orange"> | |
| <i class="fas fa-exclamation-circle"></i> | |
| </div> | |
| <div class="activity-details"> | |
| <h4>Server alert</h4> | |
| <p>High CPU usage detected</p> | |
| </div> | |
| <div class="activity-time">3 hours ago</div> | |
| </div> | |
| <div class="activity-item"> | |
| <div class="activity-icon blue"> | |
| <i class="fas fa-file-invoice-dollar"></i> | |
| </div> | |
| <div class="activity-details"> | |
| <h4>Payment received</h4> | |
| <p>Invoice #7890 has been paid</p> | |
| </div> | |
| <div class="activity-time">5 hours ago</div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| </main> | |
| <script> | |
| // Add interactive functionality | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Toggle active state for navigation items | |
| const navItems = document.querySelectorAll('.nav-item'); | |
| navItems.forEach(item => { | |
| item.addEventListener('click', function(e) { | |
| e.preventDefault(); | |
| navItems.forEach(nav => nav.classList.remove('active')); | |
| this.classList.add('active'); | |
| }); | |
| }); | |
| // Simulate chart loading | |
| setTimeout(() => { | |
| const chartPlaceholder = document.querySelector('.chart-placeholder'); | |
| chartPlaceholder.innerHTML = ` | |
| <div style="text-align: center; padding: 2rem;"> | |
| <i class="fas fa-chart-line" style="font-size: 3rem; color: #4f46e5; margin-bottom: 1rem;"></i> | |
| <h3 style="color: #1e293b; margin-bottom: 0.5rem;">Revenue Chart Loaded</h3> | |
| <p style="color: #64748b;">Showing monthly revenue data for 2023</p> | |
| </div> | |
| `; | |
| }, 1500); | |
| }); | |
| </script> | |
| </body> | |
| </html> |