first-try / index.html
zfali's picture
Add 3 files
158ef79 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FloorMaster Pro - Flooring & Carpet Management</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 = {
theme: {
extend: {
colors: {
primary: '#3a5a78',
secondary: '#f59e0b',
accent: '#10b981',
dark: '#1f2937',
light: '#f9fafb'
}
}
}
}
</script>
<style>
.sidebar {
transition: all 0.3s ease;
}
.dashboard-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.chart-container {
height: 300px;
}
@media (max-width: 768px) {
.sidebar {
position: fixed;
left: -100%;
top: 0;
z-index: 50;
height: 100vh;
}
.sidebar.active {
left: 0;
}
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
z-index: 40;
}
.overlay.active {
display: block;
}
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<div class="flex h-screen overflow-hidden">
<!-- Mobile menu button -->
<button id="mobileMenuButton" class="md:hidden fixed top-4 left-4 z-50 bg-primary text-white p-2 rounded-lg">
<i class="fas fa-bars text-xl"></i>
</button>
<!-- Overlay for mobile menu -->
<div id="overlay" class="overlay"></div>
<!-- Sidebar -->
<div id="sidebar" class="sidebar bg-primary text-white w-64 flex-shrink-0">
<div class="p-4 flex items-center justify-between border-b border-primary-light">
<div class="flex items-center space-x-2">
<i class="fas fa-home text-2xl text-secondary"></i>
<span class="text-xl font-bold">FloorMaster Pro</span>
</div>
<button id="closeSidebar" class="md:hidden text-white">
<i class="fas fa-times"></i>
</button>
</div>
<div class="p-4">
<div class="flex items-center space-x-3 mb-6">
<div class="w-12 h-12 rounded-full bg-primary-light flex items-center justify-center">
<i class="fas fa-user text-xl"></i>
</div>
<div>
<p class="font-medium">Admin User</p>
<p class="text-xs text-primary-light">Administrator</p>
</div>
</div>
<nav>
<ul class="space-y-2">
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg bg-primary-dark text-white">
<i class="fas fa-tachometer-alt"></i>
<span>Dashboard</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-boxes"></i>
<span>Inventory</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-users"></i>
<span>Customers</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-file-invoice-dollar"></i>
<span>Orders</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-project-diagram"></i>
<span>Projects</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-tools"></i>
<span>Fitters</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-truck"></i>
<span>Suppliers</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-chart-line"></i>
<span>Financial</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-cog"></i>
<span>Settings</span>
</a>
</li>
</ul>
</nav>
</div>
<div class="absolute bottom-0 w-full p-4 border-t border-primary-light">
<div class="flex items-center space-x-3 p-3 rounded-lg hover:bg-primary-dark text-white">
<i class="fas fa-sign-out-alt"></i>
<span>Logout</span>
</div>
</div>
</div>
<!-- Main content -->
<div class="flex-1 overflow-auto">
<header class="bg-white shadow-sm">
<div class="px-6 py-4 flex items-center justify-between">
<h1 class="text-2xl font-bold text-dark">Dashboard Overview</h1>
<div class="flex items-center space-x-4">
<div class="relative">
<i class="fas fa-bell text-gray-500 text-xl"></i>
<span class="absolute -top-1 -right-1 bg-secondary text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">3</span>
</div>
<div class="relative">
<input type="text" placeholder="Search..." class="pl-10 pr-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-accent">
<i class="fas fa-search absolute left-3 top-3 text-gray-400"></i>
</div>
</div>
</div>
</header>
<main class="p-6">
<!-- Stats Cards -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6">
<div class="dashboard-card bg-white rounded-xl shadow-md p-6 transition duration-300">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500">Total Inventory</p>
<h3 class="text-2xl font-bold text-dark">1,248</h3>
<p class="text-sm text-accent flex items-center">
<i class="fas fa-arrow-up mr-1"></i> 12% from last week
</p>
</div>
<div class="bg-accent bg-opacity-10 p-3 rounded-full">
<i class="fas fa-boxes text-accent text-xl"></i>
</div>
</div>
</div>
<div class="dashboard-card bg-white rounded-xl shadow-md p-6 transition duration-300">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500">Active Projects</p>
<h3 class="text-2xl font-bold text-dark">24</h3>
<p class="text-sm text-secondary flex items-center">
<i class="fas fa-arrow-up mr-1"></i> 3 new today
</p>
</div>
<div class="bg-secondary bg-opacity-10 p-3 rounded-full">
<i class="fas fa-project-diagram text-secondary text-xl"></i>
</div>
</div>
</div>
<div class="dashboard-card bg-white rounded-xl shadow-md p-6 transition duration-300">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500">Pending Orders</p>
<h3 class="text-2xl font-bold text-dark">18</h3>
<p class="text-sm text-red-500 flex items-center">
<i class="fas fa-arrow-down mr-1"></i> 2 overdue
</p>
</div>
<div class="bg-red-500 bg-opacity-10 p-3 rounded-full">
<i class="fas fa-file-invoice-dollar text-red-500 text-xl"></i>
</div>
</div>
</div>
<div class="dashboard-card bg-white rounded-xl shadow-md p-6 transition duration-300">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500">Monthly Revenue</p>
<h3 class="text-2xl font-bold text-dark">$42,580</h3>
<p class="text-sm text-green-500 flex items-center">
<i class="fas fa-arrow-up mr-1"></i> 8% from last month
</p>
</div>
<div class="bg-green-500 bg-opacity-10 p-3 rounded-full">
<i class="fas fa-dollar-sign text-green-500 text-xl"></i>
</div>
</div>
</div>
</div>
<!-- Charts and Recent Activity -->
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
<!-- Financial Chart -->
<div class="lg:col-span-2 bg-white rounded-xl shadow-md p-6">
<div class="flex items-center justify-between mb-4">
<h2 class="text-lg font-semibold text-dark">Financial Overview</h2>
<select class="border rounded-lg px-3 py-1 text-sm focus:outline-none focus:ring-2 focus:ring-accent">
<option>Last 7 Days</option>
<option>Last 30 Days</option>
<option selected>Last 90 Days</option>
<option>This Year</option>
</select>
</div>
<div class="chart-container">
<canvas id="financialChart"></canvas>
</div>
</div>
<!-- Recent Activity -->
<div class="bg-white rounded-xl shadow-md p-6">
<h2 class="text-lg font-semibold text-dark mb-4">Recent Activity</h2>
<div class="space-y-4">
<div class="flex items-start space-x-3">
<div class="bg-accent bg-opacity-10 p-2 rounded-full">
<i class="fas fa-project-diagram text-accent"></i>
</div>
<div>
<p class="text-sm font-medium">New project created</p>
<p class="text-xs text-gray-500">Commercial flooring for TechCorp</p>
<p class="text-xs text-gray-400">2 hours ago</p>
</div>
</div>
<div class="flex items-start space-x-3">
<div class="bg-blue-500 bg-opacity-10 p-2 rounded-full">
<i class="fas fa-truck text-blue-500"></i>
</div>
<div>
<p class="text-sm font-medium">Inventory received</p>
<p class="text-xs text-gray-500">500 sqm of hardwood flooring</p>
<p class="text-xs text-gray-400">5 hours ago</p>
</div>
</div>
<div class="flex items-start space-x-3">
<div class="bg-secondary bg-opacity-10 p-2 rounded-full">
<i class="fas fa-file-invoice-dollar text-secondary"></i>
</div>
<div>
<p class="text-sm font-medium">Order completed</p>
<p class="text-xs text-gray-500">Order #4582 for $3,250</p>
<p class="text-xs text-gray-400">Yesterday</p>
</div>
</div>
<div class="flex items-start space-x-3">
<div class="bg-green-500 bg-opacity-10 p-2 rounded-full">
<i class="fas fa-users text-green-500"></i>
</div>
<div>
<p class="text-sm font-medium">New customer added</p>
<p class="text-xs text-gray-500">Smith Residence - Residential project</p>
<p class="text-xs text-gray-400">Yesterday</p>
</div>
</div>
<div class="flex items-start space-x-3">
<div class="bg-red-500 bg-opacity-10 p-2 rounded-full">
<i class="fas fa-exclamation-triangle text-red-500"></i>
</div>
<div>
<p class="text-sm font-medium">Project delayed</p>
<p class="text-xs text-gray-500">Johnson Office - Carpet installation</p>
<p class="text-xs text-gray-400">2 days ago</p>
</div>
</div>
</div>
</div>
</div>
<!-- Inventory Status and Project Timeline -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
<!-- Inventory Status -->
<div class="bg-white rounded-xl shadow-md p-6">
<h2 class="text-lg font-semibold text-dark mb-4">Inventory Status</h2>
<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">Product</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Stock</th>
<th class="px-6 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-6 py-4 whitespace-nowrap text-sm font-medium text-dark">Oak Hardwood</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Hardwood</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">320 sqm</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">In Stock</span>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-dark">Berber Carpet</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Carpet</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">85 sqm</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">Low Stock</span>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-dark">Vinyl Plank</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Luxury Vinyl</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">420 sqm</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">In Stock</span>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-dark">Laminate Flooring</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Lam
</html>