Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>ROOMA21 CRM - Navigation</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> | |
| .sidebar { | |
| transition: all 0.3s ease; | |
| background-color: #f8fafc; | |
| } | |
| .sidebar-collapsed { | |
| width: 70px; | |
| } | |
| .sidebar-collapsed .menu-text, | |
| .sidebar-collapsed .category-title { | |
| display: none; | |
| } | |
| .sidebar-collapsed .menu-item { | |
| justify-content: center; | |
| } | |
| .submenu { | |
| max-height: 0; | |
| overflow: hidden; | |
| transition: max-height 0.3s ease; | |
| } | |
| .submenu.open { | |
| max-height: 500px; | |
| } | |
| .active-menu { | |
| background-color: #3b82f6; | |
| color: white; | |
| } | |
| .active-menu svg { | |
| color: white; | |
| } | |
| .hamburger-line { | |
| transition: all 0.3s ease; | |
| } | |
| .hamburger-active .hamburger-line:nth-child(1) { | |
| transform: translateY(8px) rotate(45deg); | |
| } | |
| .hamburger-active .hamburger-line:nth-child(2) { | |
| opacity: 0; | |
| } | |
| .hamburger-active .hamburger-line:nth-child(3) { | |
| transform: translateY(-8px) rotate(-45deg); | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-100 font-sans flex h-screen overflow-hidden"> | |
| <!-- Sidebar --> | |
| <div class="sidebar bg-white text-gray-800 shadow-lg flex flex-col w-64 h-full border-r border-gray-200"> | |
| <!-- Logo and Toggle --> | |
| <div class="flex items-center justify-between p-4 border-b border-gray-200"> | |
| <div class="flex items-center space-x-2"> | |
| <div class="w-8 h-8 bg-blue-600 rounded-md flex items-center justify-center"> | |
| <i class="fas fa-home text-white"></i> | |
| </div> | |
| <span class="font-bold text-lg">ROOMA21</span> | |
| </div> | |
| <button id="toggleSidebar" class="p-1 rounded-md hover:bg-gray-200"> | |
| <div class="hamburger-line w-6 h-0.5 bg-gray-600 my-1"></div> | |
| <div class="hamburger-line w-6 h-0.5 bg-gray-600 my-1"></div> | |
| <div class="hamburger-line w-6 h-0.5 bg-gray-600 my-1"></div> | |
| </button> | |
| </div> | |
| <!-- User Profile --> | |
| <div class="p-4 border-b border-gray-200"> | |
| <div class="flex items-center space-x-3"> | |
| <div class="w-10 h-10 rounded-full bg-blue-500 flex items-center justify-center text-white"> | |
| KF | |
| </div> | |
| <span class="font-medium">Katon Fajar</span> | |
| </div> | |
| </div> | |
| <!-- Navigation Menu --> | |
| <div class="flex-1 overflow-y-auto py-2"> | |
| <!-- Dashboard --> | |
| <div class="menu-item px-4 py-3 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer active-menu"> | |
| <i class="fas fa-tachometer-alt text-gray-500 w-5"></i> | |
| <span class="menu-text">Dashboard</span> | |
| </div> | |
| <!-- Lead Management --> | |
| <div class="category"> | |
| <div class="category-title px-4 py-3 flex items-center justify-between cursor-pointer hover:bg-gray-100"> | |
| <div class="flex items-center space-x-3"> | |
| <i class="fas fa-users text-gray-500 w-5"></i> | |
| <span class="menu-text">Lead Management</span> | |
| </div> | |
| <i class="fas fa-chevron-down text-xs text-gray-500 transition-transform duration-200"></i> | |
| </div> | |
| <div class="submenu open"> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-list text-gray-500 w-5"></i> | |
| <span class="menu-text">All Leads</span> | |
| </div> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-search text-gray-500 w-5"></i> | |
| <span class="menu-text">Prospect Center</span> | |
| </div> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-address-book text-gray-500 w-5"></i> | |
| <span class="menu-text">Owner Contacts</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Listing Management --> | |
| <div class="category"> | |
| <div class="category-title px-4 py-3 flex items-center justify-between cursor-pointer hover:bg-gray-100"> | |
| <div class="flex items-center space-x-3"> | |
| <i class="fas fa-home text-gray-500 w-5"></i> | |
| <span class="menu-text">Listing Management</span> | |
| </div> | |
| <i class="fas fa-chevron-down text-xs text-gray-500 transition-transform duration-200"></i> | |
| </div> | |
| <div class="submenu"> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-layer-group text-gray-500 w-5"></i> | |
| <span class="menu-text">Secondary Listings</span> | |
| </div> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-file-contract text-gray-500 w-5"></i> | |
| <span class="menu-text">Property Consignment Data</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Analytics --> | |
| <div class="category"> | |
| <div class="category-title px-4 py-3 flex items-center justify-between cursor-pointer hover:bg-gray-100"> | |
| <div class="flex items-center space-x-3"> | |
| <i class="fas fa-chart-line text-gray-500 w-5"></i> | |
| <span class="menu-text">Analytics</span> | |
| </div> | |
| <i class="fas fa-chevron-down text-xs text-gray-500 transition-transform duration-200"></i> | |
| </div> | |
| <div class="submenu"> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-chart-bar text-gray-500 w-5"></i> | |
| <span class="menu-text">Statistics</span> | |
| </div> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-file-alt text-gray-500 w-5"></i> | |
| <span class="menu-text">Reports</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Team (Admin Only) --> | |
| <div class="category"> | |
| <div class="category-title px-4 py-3 flex items-center justify-between cursor-pointer hover:bg-gray-100"> | |
| <div class="flex items-center space-x-3"> | |
| <i class="fas fa-users-cog text-gray-500 w-5"></i> | |
| <span class="menu-text">Team</span> | |
| </div> | |
| <i class="fas fa-chevron-down text-xs text-gray-500 transition-transform duration-200"></i> | |
| </div> | |
| <div class="submenu"> | |
| <div class="menu-item px-4 py-2 pl-12 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-user-shield text-gray-500 w-5"></i> | |
| <span class="menu-text">Manage Team/Marketing</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Bottom Section --> | |
| <div class="p-4 border-t border-gray-200"> | |
| <div class="menu-item px-4 py-3 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-cog text-gray-500 w-5"></i> | |
| <span class="menu-text">Settings</span> | |
| </div> | |
| <div class="menu-item px-4 py-3 flex items-center space-x-3 hover:bg-gray-100 cursor-pointer"> | |
| <i class="fas fa-sign-out-alt text-gray-500 w-5"></i> | |
| <span class="menu-text">Logout</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Main Content --> | |
| <div class="flex-1 overflow-auto bg-gray-50"> | |
| <div class="p-6"> | |
| <h1 class="text-2xl font-bold mb-6">Dashboard</h1> | |
| <!-- Summary Cards --> | |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6"> | |
| <div class="bg-white p-6 rounded-xl shadow-sm"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500">Total Leads</p> | |
| <p class="text-2xl font-bold">1,248</p> | |
| </div> | |
| <div class="w-12 h-12 rounded-lg bg-blue-50 flex items-center justify-center"> | |
| <i class="fas fa-users text-blue-500"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-xl shadow-sm"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500">Active Listings</p> | |
| <p class="text-2xl font-bold">87</p> | |
| </div> | |
| <div class="w-12 h-12 rounded-lg bg-green-50 flex items-center justify-center"> | |
| <i class="fas fa-home text-green-500"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-xl shadow-sm"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500">New Messages</p> | |
| <p class="text-2xl font-bold">24</p> | |
| </div> | |
| <div class="w-12 h-12 rounded-lg bg-purple-50 flex items-center justify-center"> | |
| <i class="fas fa-envelope text-purple-500"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-xl shadow-sm"> | |
| <div class="flex items-center justify-between"> | |
| <div> | |
| <p class="text-gray-500">Tasks Due</p> | |
| <p class="text-2xl font-bold">5</p> | |
| </div> | |
| <div class="w-12 h-12 rounded-lg bg-yellow-50 flex items-center justify-center"> | |
| <i class="fas fa-tasks text-yellow-500"></i> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Recent Activity Table --> | |
| <div class="bg-white p-6 rounded-xl shadow-sm"> | |
| <div class="flex items-center justify-between mb-4"> | |
| <h2 class="text-lg font-semibold">Recent Activity</h2> | |
| <button class="text-blue-500 text-sm font-medium">View All</button> | |
| </div> | |
| <div class="overflow-x-auto"> | |
| <table class="min-w-full divide-y divide-gray-200"> | |
| <thead> | |
| <tr> | |
| <th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Lead</th> | |
| <th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Activity</th> | |
| <th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date</th> | |
| <th class="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> | |
| </tr> | |
| </thead> | |
| <tbody class="bg-white divide-y divide-gray-200"> | |
| <tr> | |
| <td class="px-4 py-3 whitespace-nowrap"> | |
| <div class="flex items-center"> | |
| <div class="flex-shrink-0 h-10 w-10 rounded-full bg-blue-100 flex items-center justify-center"> | |
| <span class="text-blue-600">MF</span> | |
| </div> | |
| <div class="ml-4"> | |
| <div class="text-sm font-medium text-gray-900">Michael Foster</div> | |
| <div class="text-sm text-gray-500">michael@example.com</div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="px-4 py-3 whitespace-nowrap text-sm text-gray-500">New lead added</td> | |
| <td class="px-4 py-3 whitespace-nowrap text-sm text-gray-500">Today, 10:30 AM</td> | |
| <td class="px-4 py-3 whitespace-nowrap"> | |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">New</span> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td class="px-4 py-3 whitespace-nowrap"> | |
| <div class="flex items-center"> | |
| <div class="flex-shrink-0 h-10 w-10 rounded-full bg-purple-100 flex items-center justify-center"> | |
| <span class="text-purple-600">LD</span> | |
| </div> | |
| <div class="ml-4"> | |
| <div class="text-sm font-medium text-gray-900">Lindsay Dalton</div> | |
| <div class="text-sm text-gray-500">lindsay@example.com</div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="px-4 py-3 whitespace-nowrap text-sm text-gray-500">Follow-up scheduled</td> | |
| <td class="px-4 py-3 whitespace-nowrap text-sm text-gray-500">Yesterday, 2:45 PM</td> | |
| <td class="px-4 py-3 whitespace-nowrap"> | |
| <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">In Progress</span> | |
| </td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Toggle sidebar collapse | |
| const toggleSidebar = document.getElementById('toggleSidebar'); | |
| const sidebar = document.querySelector('.sidebar'); | |
| const hamburgerLines = document.querySelectorAll('.hamburger-line'); | |
| toggleSidebar.addEventListener('click', function() { | |
| sidebar.classList.toggle('sidebar-collapsed'); | |
| toggleSidebar.classList.toggle('hamburger-active'); | |
| }); | |
| // Category accordion functionality | |
| const categories = document.querySelectorAll('.category'); | |
| categories.forEach(category => { | |
| const title = category.querySelector('.category-title'); | |
| const icon = title.querySelector('.fa-chevron-down'); | |
| const submenu = category.querySelector('.submenu'); | |
| title.addEventListener('click', function() { | |
| submenu.classList.toggle('open'); | |
| icon.classList.toggle('rotate-180'); | |
| }); | |
| }); | |
| // Menu item active state | |
| const menuItems = document.querySelectorAll('.menu-item'); | |
| menuItems.forEach(item => { | |
| item.addEventListener('click', function() { | |
| // Remove active class from all items | |
| menuItems.forEach(i => i.classList.remove('active-menu')); | |
| // Add active class to clicked item | |
| this.classList.add('active-menu'); | |
| // Also make sure parent category is open | |
| const parentCategory = this.closest('.category'); | |
| if (parentCategory) { | |
| const submenu = parentCategory.querySelector('.submenu'); | |
| const icon = parentCategory.querySelector('.fa-chevron-down'); | |
| submenu.classList.add('open'); | |
| icon.classList.add('rotate-180'); | |
| } | |
| }); | |
| }); | |
| // Responsive behavior for smaller screens | |
| function handleResize() { | |
| if (window.innerWidth < 768) { | |
| sidebar.classList.add('sidebar-collapsed'); | |
| } else { | |
| sidebar.classList.remove('sidebar-collapsed'); | |
| } | |
| } | |
| window.addEventListener('resize', handleResize); | |
| handleResize(); // Initial check | |
| }); | |
| </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=katonfjrr/crm-rooma21" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |