From 96dbdba460c41e8b71599435090f02f1f69d2566 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sun, 26 Apr 2026 17:31:59 +0000 Subject: [PATCH] Autosave: 20260426-173202 --- assets/css/custom.css | 279 ++++++++++++++++++++++++++++++++++++++++++ includes/header.php | 3 +- index.php | 91 ++++++++++---- 3 files changed, 348 insertions(+), 25 deletions(-) diff --git a/assets/css/custom.css b/assets/css/custom.css index 3c3c68b..10e624c 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -390,3 +390,282 @@ details summary::-webkit-details-marker { display: none; } .table-sm th, .table-sm td { padding: 0.5rem 0.75rem !important; } + + +/* Dashboard-only bright preview */ +body.theme-preview-sunset { + background: + radial-gradient(circle at top left, rgba(255, 122, 0, 0.18), transparent 26%), + radial-gradient(circle at top right, rgba(0, 209, 178, 0.15), transparent 22%), + linear-gradient(180deg, #192132 0%, #111827 45%, #0f1724 100%); +} + +body.theme-preview-sunset #sidebar-wrapper { + background: + linear-gradient(180deg, rgba(255, 122, 0, 0.16), transparent 22%), + linear-gradient(215deg, #1b2433 0%, #111827 100%); + border-right: 1px solid rgba(255, 255, 255, 0.06); +} + +body.theme-preview-sunset .sidebar-heading { + background: rgba(255, 255, 255, 0.03); + border-bottom: 1px solid rgba(255,255,255,0.08); + color: #f9fafb; +} + +body.theme-preview-sunset #sidebar-wrapper .text-white, +body.theme-preview-sunset #sidebar-wrapper .text-white-50, +body.theme-preview-sunset #sidebar-wrapper .sidebar-heading span, +body.theme-preview-sunset #sidebar-wrapper .fw-semibold { + color: #f9fafb !important; +} + +body.theme-preview-sunset #sidebar-wrapper .list-group-item { + color: rgba(249, 250, 251, 0.72); +} + +body.theme-preview-sunset #sidebar-wrapper .list-group-item:hover, +body.theme-preview-sunset #sidebar-wrapper .list-group-item.active { + background: linear-gradient(135deg, rgba(255, 122, 0, 0.18), rgba(0, 209, 178, 0.14)); + color: #ffffff; + box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16); +} + +body.theme-preview-sunset #sidebar-wrapper .list-group-item:hover i, +body.theme-preview-sunset #sidebar-wrapper .list-group-item.active i { + color: #ffd166; +} + +body.theme-preview-sunset .top-navbar { + background: rgba(17, 24, 39, 0.82); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18); +} + +body.theme-preview-sunset .top-navbar h4, +body.theme-preview-sunset .top-navbar .dropdown-toggle, +body.theme-preview-sunset .top-navbar .btn { + color: #f9fafb; +} + +body.theme-preview-sunset .top-navbar .btn-outline-success, +body.theme-preview-sunset .top-navbar .btn-outline-primary, +body.theme-preview-sunset .top-navbar .btn-light { + border-color: rgba(255, 255, 255, 0.12); +} + +body.theme-preview-sunset .dashboard-sunset-sample { + position: relative; + z-index: 1; +} + +body.theme-preview-sunset .dashboard-hero { + position: relative; + background: + radial-gradient(circle at top right, rgba(255, 122, 0, 0.28), transparent 30%), + radial-gradient(circle at bottom left, rgba(0, 209, 178, 0.2), transparent 28%), + linear-gradient(135deg, rgba(27, 36, 51, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%); + color: #f9fafb; + border: 1px solid rgba(255, 255, 255, 0.08) !important; + box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28); +} + +body.theme-preview-sunset .dashboard-hero::before, +body.theme-preview-sunset .dashboard-hero::after { + content: ''; + position: absolute; + border-radius: 999px; + pointer-events: none; +} + +body.theme-preview-sunset .dashboard-hero::before { + width: 220px; + height: 220px; + right: -50px; + top: -50px; + background: radial-gradient(circle, rgba(255, 122, 0, 0.34), rgba(255, 122, 0, 0)); +} + +body.theme-preview-sunset .dashboard-hero::after { + width: 240px; + height: 240px; + left: -70px; + bottom: -80px; + background: radial-gradient(circle, rgba(0, 209, 178, 0.22), rgba(0, 209, 178, 0)); +} + +body.theme-preview-sunset .dashboard-kicker { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.55rem 0.9rem; + border-radius: 999px; + background: rgba(255, 255, 255, 0.08); + border: 1px solid rgba(255, 209, 102, 0.22); + color: #ffd166; + font-size: 0.85rem; + letter-spacing: 0.04em; + text-transform: uppercase; +} + +body.theme-preview-sunset .dashboard-hero-title { + color: #f9fafb; + font-size: clamp(2rem, 4vw, 3.2rem); + line-height: 1.05; + max-width: 13ch; +} + +body.theme-preview-sunset .dashboard-hero-copy { + color: rgba(249, 250, 251, 0.74); + font-size: 1rem; + max-width: 64ch; +} + +body.theme-preview-sunset .dashboard-hero-panel { + padding: 1.25rem; + border-radius: 1.5rem; + background: rgba(255, 255, 255, 0.06); + border: 1px solid rgba(255, 255, 255, 0.08); + box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 18px 40px rgba(0, 0, 0, 0.16); +} + +body.theme-preview-sunset .dashboard-chip-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.8rem; +} + +body.theme-preview-sunset .dashboard-chip { + display: inline-flex; + justify-content: center; + padding: 0.75rem 0.9rem; + border-radius: 1rem; + font-weight: 700; + letter-spacing: 0.02em; + color: #111827; +} + +body.theme-preview-sunset .dashboard-chip--orange { background: #ffb36b; } +body.theme-preview-sunset .dashboard-chip--teal { background: #7ce9d7; } +body.theme-preview-sunset .dashboard-chip--gold { background: #ffd166; } +body.theme-preview-sunset .dashboard-chip--rose { background: #ff9aae; } + +body.theme-preview-sunset .dashboard-hero-meta { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.9rem; +} + +body.theme-preview-sunset .dashboard-hero-meta small { + display: block; + color: rgba(249, 250, 251, 0.58); + margin-bottom: 0.25rem; +} + +body.theme-preview-sunset .dashboard-hero-meta strong { + color: #f9fafb; + font-size: 1rem; +} + +body.theme-preview-sunset .dashboard-sunset-sample .card { + border: 1px solid rgba(255, 255, 255, 0.08); + background: rgba(27, 36, 51, 0.94); + box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18); +} + +body.theme-preview-sunset .dashboard-sunset-sample .card-header, +body.theme-preview-sunset .dashboard-sunset-sample .card-body, +body.theme-preview-sunset .dashboard-sunset-sample .table td, +body.theme-preview-sunset .dashboard-sunset-sample .table th, +body.theme-preview-sunset .dashboard-sunset-sample .text-muted, +body.theme-preview-sunset .dashboard-sunset-sample .small { + color: rgba(249, 250, 251, 0.72) !important; +} + +body.theme-preview-sunset .dashboard-sunset-sample .card-header { + border-bottom: 1px solid rgba(255, 255, 255, 0.08); +} + +body.theme-preview-sunset .dashboard-sunset-sample .table th { + background: rgba(255, 255, 255, 0.04); + color: rgba(249, 250, 251, 0.64) !important; + border-bottom-color: rgba(255, 255, 255, 0.08); +} + +body.theme-preview-sunset .dashboard-sunset-sample .table td { + border-bottom-color: rgba(255, 255, 255, 0.06); +} + +body.theme-preview-sunset .dashboard-sunset-sample .table-hover tbody tr:hover { + background: rgba(255, 255, 255, 0.03); +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card { + overflow: hidden; + position: relative; + color: #ffffff; +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03)); + opacity: 0.92; +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card > .card-body { + position: relative; + z-index: 1; +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card--cyan { + background: linear-gradient(135deg, #ff7a00 0%, #ff9d42 100%); +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card--coral { + background: linear-gradient(135deg, #00d1b2 0%, #1ee4c8 100%); +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card--lime { + background: linear-gradient(135deg, #ffd166 0%, #ffdf95 100%); + color: #1b2433; +} + +body.theme-preview-sunset .dashboard-sunset-sample .dashboard-stat-card--gold { + background: linear-gradient(135deg, #ff4d6d 0%, #ff7f95 100%); +} + +body.theme-preview-sunset .dashboard-sunset-sample .display-6, +body.theme-preview-sunset .dashboard-sunset-sample h5, +body.theme-preview-sunset .dashboard-sunset-sample h6 { + color: inherit; +} + +body.theme-preview-sunset .dashboard-sunset-sample .btn-primary { + background: linear-gradient(135deg, #ff7a00 0%, #ff9440 100%); + border: none; + box-shadow: 0 14px 28px rgba(255, 122, 0, 0.22); +} + +body.theme-preview-sunset .dashboard-sunset-sample .btn-light { + background: rgba(255,255,255,0.08); + border-color: rgba(255,255,255,0.12); + color: #f9fafb; +} + +body.theme-preview-sunset .dashboard-sunset-sample .badge { + border-radius: 999px; +} + +@media (max-width: 991.98px) { + body.theme-preview-sunset { + background: linear-gradient(180deg, #1b2433 0%, #111827 60%, #0f1724 100%); + } + + body.theme-preview-sunset .dashboard-hero-title { + max-width: none; + } +} diff --git a/includes/header.php b/includes/header.php index c281d73..2a1c9c4 100644 --- a/includes/header.php +++ b/includes/header.php @@ -12,6 +12,7 @@ $assetVersion = date('YmdHi'); // Determine if we are on a public page (like login) $isPublic = !empty($forcePublic) || !isset($user) || !$user; +$bodyClasses = trim(($isPublic ? 'auth-body ' : '') . ($bodyClass ?? '')); ?> @@ -45,7 +46,7 @@ $isPublic = !empty($forcePublic) || !isset($user) || !$user; - + diff --git a/index.php b/index.php index fc10ed6..47d9439 100644 --- a/index.php +++ b/index.php @@ -3,6 +3,7 @@ require_once __DIR__ . '/includes/app.php'; $user = require_auth(); $pageTitle = tr('لوحة التحكم', 'Dashboard'); $activeNav = 'dashboard'; +$bodyClass = 'theme-preview-sunset'; $dbError = null; $metrics = ['today_sales' => 0, 'today_revenue' => 0.0, 'pos_count' => 0, 'normal_count' => 0, 'recent' => []]; $reportMetrics = ['branch_totals' => [], 'payment_totals' => [], 'product_totals' => []]; @@ -48,10 +49,46 @@ require __DIR__ . '/includes/header.php';
+
+
+
+
+
+ + + + +

+

+
+
+
+
+ Sunset Orange + Teal + Gold + Rose +
+
+
+ + Sunset Contrast +
+
+ + +
+
+
+
+
+
+
+
-
+
@@ -63,7 +100,7 @@ require __DIR__ . '/includes/header.php';
-
+
@@ -75,7 +112,7 @@ require __DIR__ . '/includes/header.php';
-
+
POS
@@ -87,7 +124,7 @@ require __DIR__ . '/includes/header.php';
-
+
@@ -297,6 +334,8 @@ require __DIR__ . '/includes/header.php';
+
+