Files
ERP-upgrade/resources/views/layouts/new_master.blade.php
2026-07-17 14:55:56 +00:00

310 lines
19 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<title>Nexus ERP Dashboard</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style>
body { background-color: #f8f9fc; }
/* Sidebar Styling */
#sidebar {
width: 260px;
background-color: #111425;
position: fixed;
top: 0;
left: 0;
height: 100vh;
overflow-y: auto;
z-index: 1000;
}
.sidebar-brand { color: #fff; padding: 1.5rem 1.25rem; font-weight: 700; }
.sidebar-brand-icon { background: #5c4df0; padding: 0.5rem; border-radius: 8px; margin-right: 10px; }
.sidebar-nav-item { color: #8a90a5; text-decoration: none; padding: 0.75rem 1.25rem; display: block; border-radius: 8px; margin: 0.2rem 1rem; font-size: 0.9rem; }
.sidebar-nav-item:hover, .sidebar-nav-item.active { background-color: #5c4df0; color: #fff; }
.sidebar-heading { color: #5a617a; font-size: 0.75rem; text-transform: uppercase; padding: 1rem 1.25rem 0.5rem; font-weight: 600; letter-spacing: 0.5px; }
/* Main Content Layout */
#main-content { margin-left: 260px; min-height: 100vh; }
/* Topbar Styling */
.topbar { background: #fff; height: 70px; border-bottom: 1px solid #eaedf1; padding: 0 1.5rem; }
.badge-notification { position: absolute; top: -5px; right: -5px; background: #e74a3b; border-radius: 50%; padding: 3px 6px; font-size: 10px; color: white;}
/* Dashboard Cards */
.hero-banner { background-color: #181b31; color: white; border-radius: 12px; }
.stat-card { border: 1px solid #eaedf1; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.stat-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 1.2rem; }
.progress-slim { height: 6px; border-radius: 4px; }
</style>
</head>
<body>
<aside id="sidebar">
<div class="sidebar-brand d-flex align-items-center">
<span class="sidebar-brand-icon"><i class="bi bi-buildings"></i></span>
<div>
<div class="mb-0 fs-6">NEXUS <span class="badge bg-secondary ms-1" style="font-size: 0.6rem;">ERP</span></div>
<div class="text-secondary" style="font-size: 0.65rem; letter-spacing: 1px;">v1.2.0 PROTOTYPE</div>
</div>
</div>
<div class="px-3 mb-3">
<div class="input-group input-group-sm">
<span class="input-group-text bg-dark border-secondary text-secondary"><i class="bi bi-search"></i></span>
<input type="text" class="form-control bg-dark border-secondary text-light placeholder-secondary" placeholder="Quick search menus...">
</div>
</div>
<div class="sidebar-heading">Overview</div>
<a href="#" class="sidebar-nav-item active"><i class="bi bi-grid-1x2 me-2"></i> Dashboard</a>
<div class="sidebar-heading mt-2">Sales & Operations</div>
<a href="#" class="sidebar-nav-item d-flex justify-content-between align-items-center">
<span><i class="bi bi-people me-2"></i> Customers</span>
<span class="badge rounded-pill bg-success text-dark" style="background-color: #c3e6cb !important;">4</span>
</a>
<a href="#" class="sidebar-nav-item d-flex justify-content-between align-items-center">
<span><i class="bi bi-receipt me-2"></i> Invoices</span>
<span class="badge rounded-pill bg-warning text-dark" style="background-color: #ffeeba !important;">3</span>
</a>
<div class="sidebar-heading mt-2">Core Templates</div>
<a href="#" class="sidebar-nav-item"><i class="bi bi-file-earmark-text me-2"></i> General Record Form</a>
<div class="sidebar-heading mt-2">Intelligence</div>
<a href="#" class="sidebar-nav-item"><i class="bi bi-graph-up-arrow me-2"></i> Reports & Analytics</a>
<a href="#" class="sidebar-nav-item"><i class="bi bi-gear me-2"></i> System Settings</a>
<div class="position-absolute bottom-0 w-100 p-3">
<div class="d-flex align-items-center bg-dark rounded p-2 text-light" style="background-color: #0d1020 !important;">
<div class="rounded-circle bg-primary d-flex justify-content-center align-items-center me-2" style="width: 32px; height: 32px; font-size: 0.8rem;">AD</div>
<div>
<div class="fs-6 fw-bold" style="font-size: 0.85rem !important;">Admin User</div>
<div class="text-secondary" style="font-size: 0.7rem;">admin@nexuserp.io</div>
</div>
</div>
</div>
</aside>
<main id="main-content">
<header class="topbar d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<i class="bi bi-house text-secondary me-2"></i>
<i class="bi bi-chevron-right text-secondary me-2" style="font-size: 0.8rem;"></i>
<span class="fw-bold">Dashboard</span>
</div>
<div class="d-flex align-items-center">
<div class="text-secondary me-4" style="font-size: 0.9rem;">
<i class="bi bi-calendar4 me-1"></i> <span id="current-date">Thu, Jun 18, 2026</span>
<span class="mx-2">|</span>
<i class="bi bi-clock me-1"></i> <span id="current-time">01:37:34 PM</span>
</div>
<div class="position-relative me-4">
<i class="bi bi-bell fs-5 text-secondary"></i>
<span class="badge-notification">2</span>
</div>
<div class="d-flex align-items-center">
<div class="rounded-circle bg-light d-flex justify-content-center align-items-center me-2 border text-dark fw-bold" style="width: 32px; height: 32px; font-size: 0.8rem;">AU</div>
<span class="fw-bold" style="font-size: 0.9rem;">Admin User</span>
</div>
</div>
</header>
<div class="container-fluid p-4">
<div class="hero-banner p-4 mb-4 d-flex justify-content-between align-items-center">
<div class="w-50">
<h3 class="fw-bold mb-3">Base ERP Workstation <span class="badge bg-primary fs-6 align-middle ms-2" style="background-color: #5c4df0 !important;">ACTIVE</span></h3>
<p class="text-secondary mb-0" style="font-size: 0.95rem; line-height: 1.6;">
Welcome to Nexus-ERP base mockup. This screen loads aggregated statistics computed React state modifications (Customer Directory alterations, invoices creations, etc.) instantly.
</p>
</div>
<div class="d-flex gap-3">
<button class="btn text-white fw-bold d-flex align-items-center px-4" style="background-color: #5c4df0; border-radius: 8px;" id="seedBtn">
<i class="bi bi-stars me-2"></i> Seed Demo Records
</button>
<button class="btn btn-outline-secondary text-white fw-bold d-flex align-items-center px-4" style="border-radius: 8px; border-color: #5a617a;">
<i class="bi bi-plus-square me-2"></i> New Record Form
</button>
</div>
</div>
<div class="row g-4 mb-4">
<div class="col-xl-3 col-md-6">
<div class="card stat-card h-100 p-3 border-0">
<div class="d-flex justify-content-between">
<div class="text-secondary fw-bold" style="font-size: 0.75rem; letter-spacing: 0.5px;">ENTERPRISE REVENUE</div>
<div class="stat-icon bg-success bg-opacity-10 text-success"><i class="bi bi-currency-dollar"></i></div>
</div>
<h2 class="fw-bold mt-2 mb-3">$1,438,950</h2>
<div class="d-flex align-items-center mt-auto" style="font-size: 0.8rem;">
<span class="text-success fw-bold"><i class="bi bi-arrow-up-right me-1"></i>+12.4%</span>
<span class="text-secondary ms-2">quarter over quarter</span>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6">
<div class="card stat-card h-100 p-3 border-0">
<div class="d-flex justify-content-between">
<div class="text-secondary fw-bold" style="font-size: 0.75rem; letter-spacing: 0.5px;">ACTIVE CUSTOMERS</div>
<div class="stat-icon bg-primary bg-opacity-10 text-primary" style="color: #5c4df0 !important;"><i class="bi bi-people"></i></div>
</div>
<h2 class="fw-bold mt-2 mb-3">2</h2>
<div class="d-flex align-items-center justify-content-between mt-auto" style="font-size: 0.8rem;">
<span class="text-primary fw-bold" style="color: #5c4df0 !important;">4 total entries</span>
<span class="text-secondary">98% engagement index</span>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6">
<div class="card stat-card h-100 p-3 border-0">
<div class="d-flex justify-content-between">
<div class="text-secondary fw-bold" style="font-size: 0.75rem; letter-spacing: 0.5px;">PENDING RECEIVABLES</div>
<div class="stat-icon bg-warning bg-opacity-10 text-warning"><i class="bi bi-clock"></i></div>
</div>
<h2 class="fw-bold mt-2 mb-3">$7,800</h2>
<div class="d-flex align-items-center mt-auto" style="font-size: 0.8rem;">
<span class="text-warning fw-bold">1 current bills</span>
<span class="text-secondary ms-3 lh-sm" style="font-size: 0.7rem;">Immediate settlement<br>needed</span>
</div>
</div>
</div>
<div class="col-xl-3 col-md-6">
<div class="card stat-card h-100 p-3 border-0">
<div class="d-flex justify-content-between">
<div class="text-secondary fw-bold" style="font-size: 0.75rem; letter-spacing: 0.5px;">SLA DELIVERY INDEX</div>
<div class="stat-icon bg-danger bg-opacity-10 text-danger"><i class="bi bi-percent"></i></div>
</div>
<h2 class="fw-bold mt-2 mb-3">84.5%</h2>
<div class="d-flex align-items-center mt-auto" style="font-size: 0.8rem;">
<span class="text-success fw-bold"><i class="bi bi-circle-fill me-1" style="font-size: 0.5rem;"></i>Healthy</span>
<span class="text-secondary ms-3">Average response: 3.5 hrs</span>
</div>
</div>
</div>
</div>
<div class="row g-4">
<div class="col-lg-8">
<div class="card stat-card border-0 p-4 h-100">
<div class="d-flex justify-content-between align-items-start mb-4">
<div>
<h6 class="fw-bold mb-1">Revenue Projections Trend</h6>
<p class="text-secondary mb-0" style="font-size: 0.85rem;">Demonstrating visual charts using pure responsive vector layouts</p>
</div>
<div class="d-flex gap-3" style="font-size: 0.85rem;">
<span class="d-flex align-items-center"><i class="bi bi-circle-fill text-primary me-2" style="font-size: 0.5rem;"></i> Sales Target</span>
<span class="d-flex align-items-center text-secondary"><i class="bi bi-circle-fill me-2" style="font-size: 0.5rem; color: #d1d5db;"></i> Prior Year</span>
</div>
</div>
<div class="w-100 mt-auto position-relative" style="height: 200px;">
<svg viewBox="0 0 800 200" class="w-100 h-100" preserveAspectRatio="none">
<path d="M0,180 Q200,220 400,100 T800,20" fill="none" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="5,5"/>
<path d="M0,200 Q200,220 400,160 T800,0" fill="none" stroke="#5c4df0" stroke-width="4"/>
<circle cx="400" cy="160" r="6" fill="#5c4df0" stroke="white" stroke-width="2"/>
<circle cx="600" cy="50" r="6" fill="#5c4df0" stroke="white" stroke-width="2"/>
</svg>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card stat-card border-0 p-4 h-100">
<h6 class="fw-bold mb-1">Department Distribution</h6>
<p class="text-secondary mb-4" style="font-size: 0.85rem;">Ratio of active records grouped by segment</p>
<div class="mb-3">
<div class="d-flex justify-content-between align-items-center mb-1" style="font-size: 0.85rem;">
<span class="fw-bold"><i class="bi bi-circle-fill me-2" style="font-size: 0.5rem; color: #5c4df0;"></i> Finance</span>
<span class="text-secondary">1 (25%)</span>
</div>
<div class="progress progress-slim">
<div class="progress-bar" role="progressbar" style="width: 25%; background-color: #5c4df0;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="mb-3">
<div class="d-flex justify-content-between align-items-center mb-1" style="font-size: 0.85rem;">
<span class="fw-bold"><i class="bi bi-circle-fill me-2" style="font-size: 0.5rem; color: #10b981;"></i> Operations</span>
<span class="text-secondary">1 (25%)</span>
</div>
<div class="progress progress-slim">
<div class="progress-bar" role="progressbar" style="width: 25%; background-color: #10b981;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="mb-3">
<div class="d-flex justify-content-between align-items-center mb-1" style="font-size: 0.85rem;">
<span class="fw-bold"><i class="bi bi-circle-fill me-2" style="font-size: 0.5rem; color: #f59e0b;"></i> Sales</span>
<span class="text-secondary">1 (25%)</span>
</div>
<div class="progress progress-slim">
<div class="progress-bar" role="progressbar" style="width: 25%; background-color: #f59e0b;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="mb-3">
<div class="d-flex justify-content-between align-items-center mb-1" style="font-size: 0.85rem;">
<span class="fw-bold"><i class="bi bi-circle-fill me-2" style="font-size: 0.5rem; color: #ef4444;"></i> Marketing</span>
<span class="text-secondary">0 (0%)</span>
</div>
<div class="progress progress-slim">
<div class="progress-bar" role="progressbar" style="width: 0%; background-color: #ef4444;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
$(document).ready(function() {
// Function to update the clock dynamically
function updateClock() {
const now = new Date();
// Format Date: Thu, Jun 18, 2026
const dateOptions = { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric' };
const formattedDate = now.toLocaleDateString('en-US', dateOptions);
// Format Time: 01:37:34 PM
const timeOptions = { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: true };
const formattedTime = now.toLocaleTimeString('en-US', timeOptions);
$('#current-date').text(formattedDate);
$('#current-time').text(formattedTime);
}
// Run clock update immediately and then every second
updateClock();
setInterval(updateClock, 1000);
// Basic button interaction demo using jQuery
$('#seedBtn').on('click', function() {
const $btn = $(this);
const originalText = $btn.html();
$btn.html('<span class="spinner-border spinner-border-sm me-2" role="status" aria-hidden="true"></span> Seeding...');
$btn.prop('disabled', true);
// Simulate an API call
setTimeout(() => {
$btn.html(originalText);
$btn.prop('disabled', false);
alert('Demo records seeded successfully!');
}, 1500);
});
});
</script>
</body>
</html>