75 lines
3.3 KiB
PHP
75 lines
3.3 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
|
|
<title>@yield('title', 'CML ERP')</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; 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; transition: all 0.2s; }
|
|
.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; }
|
|
|
|
/* Main Content & Topbar */
|
|
#main-content { margin-left: 260px; min-height: 100vh; display: flex; flex-direction: column; }
|
|
.topbar { background: #fff; height: 70px; border-bottom: 1px solid #eaedf1; padding: 0 1.5rem; flex-shrink: 0; }
|
|
|
|
/* Reusable Components */
|
|
.content-card { background: #fff; border: 1px solid #eaedf1; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
|
|
.table-custom th { background-color: #f8f9fc; color: #5a617a; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; border-bottom: 2px solid #eaedf1; padding: 1rem; }
|
|
.table-custom td { padding: 1rem; vertical-align: middle; font-size: 0.9rem; border-bottom: 1px solid #eaedf1; }
|
|
.form-control:focus, .form-select:focus { border-color: #5c4df0; box-shadow: 0 0 0 0.25rem rgba(92, 77, 240, 0.25); }
|
|
</style>
|
|
|
|
@stack('styles')
|
|
<script>
|
|
var base_url = "{!! url('/') !!}";
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
@include('layouts.partials.sidebar')
|
|
|
|
<main id="main-content">
|
|
|
|
@include('layouts.partials.topbar')
|
|
|
|
<div class="container-fluid p-4 flex-grow-1">
|
|
@yield('content')
|
|
</div>
|
|
</main>
|
|
|
|
@stack('modals')
|
|
|
|
<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() {
|
|
$.ajaxSetup({
|
|
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
|
|
});
|
|
|
|
function updateClock() {
|
|
const now = new Date();
|
|
$('#current-time').text(now.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: true }));
|
|
}
|
|
updateClock();
|
|
setInterval(updateClock, 1000);
|
|
});
|
|
</script>
|
|
|
|
@stack('scripts')
|
|
</body>
|
|
</html> |