From 9bff33400da7e63710ca9e0b7326cc78c331e855 Mon Sep 17 00:00:00 2001 From: usmannasir Date: Sat, 2 Aug 2025 19:10:17 +0500 Subject: [PATCH] dark mode --- .../templates/databases/OptimizeMySQL.html | 210 +++++++++++++----- .../templates/databases/createDatabase.html | 120 +++++----- .../templates/databases/deleteDatabase.html | 116 +++++----- databases/templates/databases/index.html | 93 ++++++++ .../templates/databases/listDataBases.html | 166 ++++++++------ .../templates/databases/mysqlmanager.html | 206 +++++++++++------ databases/templates/databases/phpMyAdmin.html | 94 ++++++++ .../templates/packages/createPackage.html | 90 ++++---- .../templates/packages/deletePackage.html | 120 +++++----- packages/templates/packages/index.html | 93 ++++++++ packages/templates/packages/listPackages.html | 142 ++++++------ .../templates/packages/modifyPackage.html | 96 ++++---- .../websiteFunctions/installJoomla.html | 12 +- .../websiteFunctions/installMagento.html | 16 +- .../websiteFunctions/installMautic.html | 8 +- .../websiteFunctions/installPrestaShop.html | 17 +- 16 files changed, 1036 insertions(+), 563 deletions(-) diff --git a/databases/templates/databases/OptimizeMySQL.html b/databases/templates/databases/OptimizeMySQL.html index 997c9e8f4..f3fbea0fc 100644 --- a/databases/templates/databases/OptimizeMySQL.html +++ b/databases/templates/databases/OptimizeMySQL.html @@ -8,6 +8,96 @@ +

{% trans "Database Functions" %}

diff --git a/databases/templates/databases/listDataBases.html b/databases/templates/databases/listDataBases.html index 251956110..3543ad325 100644 --- a/databases/templates/databases/listDataBases.html +++ b/databases/templates/databases/listDataBases.html @@ -29,29 +29,29 @@ .page-title { font-size: 28px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 8px; } .page-subtitle { font-size: 14px; - color: #8893a7; + color: var(--text-secondary, #8893a7); } /* Card styles */ .content-card { - background: white; + background: var(--bg-secondary, white); border-radius: 12px; padding: 30px; - box-shadow: 0 2px 8px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08)); + border: 1px solid var(--border-color, #e8e9ff); margin-bottom: 25px; } .card-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 25px; display: flex; align-items: center; @@ -62,7 +62,7 @@ content: ''; width: 4px; height: 24px; - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); border-radius: 2px; } @@ -75,7 +75,7 @@ display: block; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-secondary, #64748b); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; @@ -84,21 +84,21 @@ .form-control { width: 100%; padding: 10px 14px; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; font-size: 14px; - color: #2f3640; - background: white; + color: var(--text-primary, #2f3640); + background: var(--bg-secondary, white); transition: all 0.2s ease; } .form-control:hover { - border-color: #5b5fcf; + border-color: var(--accent-color, #5b5fcf); } .form-control:focus { outline: none; - border-color: #5b5fcf; + border-color: var(--accent-color, #5b5fcf); box-shadow: 0 0 0 3px rgba(91,95,207,0.1); } @@ -120,8 +120,8 @@ /* Windows-specific fixes */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { select.form-control { - color: #2f3640 !important; - background-color: white !important; + color: var(--text-primary, #2f3640) !important; + background-color: var(--bg-secondary, white) !important; } } @@ -131,14 +131,14 @@ } select.form-control:focus { - color: #2f3640; - background-color: white; + color: var(--text-primary, #2f3640); + background-color: var(--bg-secondary, white); } /* Website selector card */ .website-selector-card { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -147,33 +147,33 @@ /* Table styles */ .modern-table { width: 100%; - background: white; + background: var(--bg-secondary, white); border-radius: 10px; overflow: hidden; - box-shadow: 0 1px 3px rgba(0,0,0,0.05); - border: 1px solid #e8e9ff; + box-shadow: 0 1px 3px var(--shadow-color, rgba(0,0,0,0.05)); + border: 1px solid var(--border-color, #e8e9ff); } .modern-table thead { - background: #f8f9ff; + background: var(--bg-hover, #f8f9ff); } .modern-table th { padding: 16px 20px; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-secondary, #64748b); text-transform: uppercase; letter-spacing: 0.5px; - border-bottom: 1px solid #e8e9ff; + border-bottom: 1px solid var(--border-color, #e8e9ff); text-align: left; } .modern-table td { padding: 16px 20px; font-size: 14px; - color: #2f3640; - border-bottom: 1px solid #f0f0f0; + color: var(--text-primary, #2f3640); + border-bottom: 1px solid var(--border-color, #f0f0f0); } .modern-table tbody tr:last-child td { @@ -181,14 +181,14 @@ } .modern-table tbody tr:hover { - background: #fafbff; + background: var(--bg-hover, #fafbff); } /* Database name styles */ .db-name { font-family: 'Courier New', monospace; font-weight: 600; - color: #5b5fcf; + color: var(--accent-color, #5b5fcf); } /* Button styles */ @@ -207,25 +207,36 @@ } .btn-primary { - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); color: white; } .btn-primary:hover { - background: #4a4fc4; + background: var(--accent-hover, #4a4fc4); box-shadow: 0 4px 12px rgba(91,95,207,0.3); transform: translateY(-1px); } .btn-secondary { - background: #f8f9ff; - color: #5b5fcf; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + color: var(--accent-color, #5b5fcf); + border: 1px solid var(--border-color, #e8e9ff); } .btn-secondary:hover { - background: #eef0ff; - border-color: #5b5fcf; + background: var(--bg-hover, #eef0ff); + border-color: var(--accent-color, #5b5fcf); + } + + .btn-success { + background: var(--success-text, #10b981); + color: white; + } + + .btn-success:hover { + background: var(--success-text, #059669); + box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3); + transform: translateY(-1px); } .btn-sm { @@ -251,8 +262,8 @@ /* Password change section */ .password-change-section { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 10px; padding: 25px; margin-bottom: 25px; @@ -262,7 +273,7 @@ .password-change-title { font-size: 16px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 20px; display: flex; align-items: center; @@ -270,7 +281,7 @@ } .password-change-title i { - color: #5b5fcf; + color: var(--accent-color, #5b5fcf); } /* Password input group */ @@ -287,8 +298,8 @@ /* Generated password box */ .generated-password-box { - background: #e8f5e9; - border: 1px solid #c8e6c9; + background: var(--success-bg, #e8f5e9); + border: 1px solid var(--success-text, #c8e6c9); border-radius: 8px; padding: 16px; margin-bottom: 20px; @@ -298,7 +309,7 @@ .generated-password-label { font-size: 12px; font-weight: 600; - color: #2e7d32; + color: var(--success-text, #2e7d32); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; @@ -307,7 +318,7 @@ .generated-password-value { font-family: 'Courier New', monospace; font-size: 14px; - color: #1b5e20; + color: var(--success-text, #1b5e20); font-weight: 600; word-break: break-all; } @@ -316,12 +327,12 @@ .modal-content { border-radius: 12px; border: none; - box-shadow: 0 8px 32px rgba(0,0,0,0.1); + box-shadow: 0 8px 32px var(--shadow-color, rgba(0,0,0,0.1)); } .modal-header { - background: #f8f9ff; - border-bottom: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border-bottom: 1px solid var(--border-color, #e8e9ff); border-radius: 12px 12px 0 0; padding: 20px 25px; } @@ -329,7 +340,7 @@ .modal-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); display: flex; align-items: center; gap: 10px; @@ -340,8 +351,8 @@ } .modal-footer { - background: #f8f9ff; - border-top: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border-top: 1px solid var(--border-color, #e8e9ff); border-radius: 0 0 12px 12px; padding: 15px 25px; display: flex; @@ -354,6 +365,35 @@ margin-top: 20px; } + /* Help text styles */ + .help-text { + color: var(--text-secondary, #64748b); + font-size: 12px; + } + + /* Password group button wrapper */ + .password-btn-wrapper { + margin-top: 28px; + } + + /* Generated password button wrapper */ + .generated-password-btn { + margin-top: 10px; + } + + /* Modal separator */ + .modal-separator { + margin: 25px 0; + border-color: var(--border-color, #e8e9ff); + } + + /* Current access title */ + .current-access-title { + font-weight: 600; + margin-bottom: 15px; + color: var(--text-primary, #2f3640); + } + /* Alert styles */ .alert { padding: 16px 20px; @@ -371,15 +411,15 @@ } .alert-danger { - background: #ffebee; - border: 1px solid #ffcdd2; - color: #c62828; + background: var(--danger-bg, #ffebee); + border: 1px solid var(--danger-text, #ffcdd2); + color: var(--danger-text, #c62828); } .alert-success { - background: #e8f5e9; - border: 1px solid #c8e6c9; - color: #2e7d32; + background: var(--success-bg, #e8f5e9); + border: 1px solid var(--success-text, #c8e6c9); + color: var(--success-text, #2e7d32); } /* Loading spinner */ @@ -387,8 +427,8 @@ display: inline-block; width: 16px; height: 16px; - border: 2px solid #f3f3f3; - border-top: 2px solid #5b5fcf; + border: 2px solid var(--border-color, #f3f3f3); + border-top: 2px solid var(--accent-color, #5b5fcf); border-radius: 50%; animation: spin 1s linear infinite; margin-left: 10px; @@ -514,7 +554,7 @@
-
+
@@ -595,7 +635,7 @@ class="form-control" ng-model="$parent.remoteIP" required> -
+
{% trans "Use % for wildcard (e.g., 192.168.1.% for subnet)" %}
@@ -606,9 +646,9 @@ -
+ -
{% trans "Current Access" %}
+
{% trans "Current Access" %}
diff --git a/databases/templates/databases/mysqlmanager.html b/databases/templates/databases/mysqlmanager.html index 7c59e4a2b..f158ae5cc 100644 --- a/databases/templates/databases/mysqlmanager.html +++ b/databases/templates/databases/mysqlmanager.html @@ -8,6 +8,68 @@ +
diff --git a/packages/templates/packages/createPackage.html b/packages/templates/packages/createPackage.html index 947b8fd90..e71de12b3 100644 --- a/packages/templates/packages/createPackage.html +++ b/packages/templates/packages/createPackage.html @@ -22,29 +22,29 @@ .page-title { font-size: 28px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 8px; } .page-subtitle { font-size: 14px; - color: #8893a7; + color: var(--text-secondary, #8893a7); } /* Card styles */ .content-card { - background: white; + background: var(--bg-secondary, white); border-radius: 12px; padding: 30px; - box-shadow: 0 2px 8px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08)); + border: 1px solid var(--border-color, #e8e9ff); margin-bottom: 25px; } .card-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 25px; display: flex; align-items: center; @@ -55,7 +55,7 @@ content: ''; width: 4px; height: 24px; - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); border-radius: 2px; } @@ -68,7 +68,7 @@ display: block; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-secondary, #64748b); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; @@ -77,22 +77,22 @@ .form-control { width: 100%; padding: 10px 14px; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; font-size: 14px; - color: #2f3640; - background: white; + color: var(--text-primary, #2f3640); + background: var(--bg-secondary, white); transition: all 0.2s ease; } .form-control:hover { - border-color: #5b5fcf; + border-color: var(--accent-color, #5b5fcf); } .form-control:focus { outline: none; - border-color: #5b5fcf; - box-shadow: 0 0 0 3px rgba(91,95,207,0.1); + border-color: var(--accent-color, #5b5fcf); + box-shadow: 0 0 0 3px var(--accent-focus, rgba(91,95,207,0.1)); } /* Input group styles */ @@ -107,13 +107,13 @@ } .input-suffix { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-left: none; padding: 10px 16px; border-radius: 0 8px 8px 0; font-size: 13px; - color: #64748b; + color: var(--text-secondary, #64748b); font-weight: 600; white-space: nowrap; } @@ -121,18 +121,18 @@ /* Help text */ .help-text { font-size: 12px; - color: #8893a7; + color: var(--text-muted, #8893a7); margin-top: 6px; } /* Package name preview */ .package-name-preview { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--accent-bg, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 6px; padding: 8px 12px; font-size: 13px; - color: #5b5fcf; + color: var(--accent-color, #5b5fcf); font-weight: 600; margin-top: 8px; display: inline-block; @@ -147,7 +147,7 @@ /* Resource limits section */ .resource-section { - background: #f8f9ff; + background: var(--bg-hover, #f8f9ff); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -156,7 +156,7 @@ .resource-title { font-size: 15px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 20px; display: flex; align-items: center; @@ -164,7 +164,7 @@ } .resource-title i { - color: #5b5fcf; + color: var(--accent-color, #5b5fcf); } /* Checkbox styles */ @@ -177,8 +177,8 @@ align-items: start; gap: 10px; padding: 12px 16px; - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; transition: all 0.2s ease; cursor: pointer; @@ -186,8 +186,8 @@ } .checkbox-wrapper:hover { - border-color: #5b5fcf; - background: #f0f1ff; + border-color: var(--accent-color, #5b5fcf); + background: var(--accent-bg, #f0f1ff); } .checkbox-wrapper input[type="checkbox"] { @@ -195,7 +195,7 @@ height: 18px; border-radius: 4px; cursor: pointer; - accent-color: #5b5fcf; + accent-color: var(--accent-color, #5b5fcf); margin-top: 2px; } @@ -205,7 +205,7 @@ .checkbox-label { font-size: 14px; - color: #2f3640; + color: var(--text-primary, #2f3640); font-weight: 600; cursor: pointer; user-select: none; @@ -215,7 +215,7 @@ .checkbox-desc { font-size: 12px; - color: #8893a7; + color: var(--text-muted, #8893a7); line-height: 1.5; } @@ -235,13 +235,13 @@ } .btn-primary { - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); color: white; } .btn-primary:hover { - background: #4a4fc4; - box-shadow: 0 4px 12px rgba(91,95,207,0.3); + background: var(--accent-hover, #4a4fc4); + box-shadow: 0 4px 12px var(--accent-shadow, rgba(91,95,207,0.3)); transform: translateY(-1px); } @@ -269,21 +269,21 @@ } .alert-danger { - background: #ffebee; - border: 1px solid #ffcdd2; - color: #c62828; + background: var(--danger-bg, #fee2e2); + border: 1px solid var(--danger-border, #fca5a5); + color: var(--danger-text, #991b1b); } .alert-success { - background: #e8f5e9; - border: 1px solid #c8e6c9; - color: #2e7d32; + background: var(--success-bg, #d1fae5); + border: 1px solid var(--success-border, #6ee7b7); + color: var(--success-text, #065f46); } /* Info box */ .info-box { - background: #e3f2fd; - border: 1px solid #bbdefb; + background: var(--info-bg, #dbeafe); + border: 1px solid var(--info-border, #93c5fd); border-radius: 8px; padding: 16px; margin-bottom: 25px; @@ -293,13 +293,13 @@ } .info-box i { - color: #1976d2; + color: var(--info-color, #3b82f6); font-size: 18px; } .info-box-text { font-size: 13px; - color: #1565c0; + color: var(--info-text, #1e40af); line-height: 1.5; } @@ -307,7 +307,7 @@ .button-container { margin-top: 30px; padding-top: 30px; - border-top: 1px solid #e8e9ff; + border-top: 1px solid var(--border-color, #e8e9ff); } /* Hide elements by default */ diff --git a/packages/templates/packages/deletePackage.html b/packages/templates/packages/deletePackage.html index 3235e0690..cbbcdb4c1 100644 --- a/packages/templates/packages/deletePackage.html +++ b/packages/templates/packages/deletePackage.html @@ -22,29 +22,29 @@ .page-title { font-size: 28px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 8px; } .page-subtitle { font-size: 14px; - color: #8893a7; + color: var(--text-secondary, #8893a7); } /* Card styles */ .content-card { - background: white; + background: var(--bg-secondary, white); border-radius: 12px; padding: 30px; - box-shadow: 0 2px 8px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08)); + border: 1px solid var(--border-color, #e8e9ff); margin-bottom: 25px; } .card-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 25px; display: flex; align-items: center; @@ -55,7 +55,7 @@ content: ''; width: 4px; height: 24px; - background: #dc3545; + background: var(--danger-color, #dc3545); border-radius: 2px; } @@ -68,7 +68,7 @@ display: block; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-secondary, #64748b); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; @@ -77,22 +77,22 @@ .form-control { width: 100%; padding: 10px 14px; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; font-size: 14px; - color: #2f3640; - background: white; + color: var(--text-primary, #2f3640); + background: var(--bg-secondary, white); transition: all 0.2s ease; } .form-control:hover { - border-color: #dc3545; + border-color: var(--danger-color, #dc3545); } .form-control:focus { outline: none; - border-color: #dc3545; - box-shadow: 0 0 0 3px rgba(220,53,69,0.1); + border-color: var(--danger-color, #dc3545); + box-shadow: 0 0 0 3px var(--danger-shadow, rgba(220,53,69,0.1)); } /* Windows selectbox fixes */ @@ -113,8 +113,8 @@ /* Windows-specific fixes */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { select.form-control { - color: #2f3640 !important; - background-color: white !important; + color: var(--text-primary, #2f3640) !important; + background-color: var(--bg-secondary, white) !important; } } @@ -124,14 +124,14 @@ } select.form-control:focus { - color: #2f3640; - background-color: white; + color: var(--text-primary, #2f3640); + background-color: var(--bg-secondary, white); } /* Package selector card */ .package-selector-card { - background: #fff5f5; - border: 1px solid #ffdddd; + background: var(--bg-danger-light, #fff5f5); + border: 1px solid var(--border-danger-light, #ffdddd); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -139,8 +139,8 @@ /* Package details card */ .package-details { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -152,7 +152,7 @@ justify-content: space-between; align-items: center; padding: 12px 0; - border-bottom: 1px solid #e8e9ff; + border-bottom: 1px solid var(--border-color, #e8e9ff); } .detail-row:last-child { @@ -162,12 +162,12 @@ .detail-label { font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-secondary, #64748b); } .detail-value { font-size: 14px; - color: #2f3640; + color: var(--text-primary, #2f3640); font-weight: 600; } @@ -177,23 +177,23 @@ align-items: center; gap: 6px; padding: 4px 10px; - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 6px; font-size: 13px; font-weight: 600; } .resource-badge.unlimited { - background: #e8f5e9; - border-color: #c8e6c9; - color: #2e7d32; + background: var(--bg-success-light, #e8f5e9); + border-color: var(--border-success-light, #c8e6c9); + color: var(--success-color, #2e7d32); } /* Warning box */ .warning-box { - background: #fff3e0; - border: 1px solid #ffe0b2; + background: var(--bg-warning-light, #fff3e0); + border: 1px solid var(--border-warning-light, #ffe0b2); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -203,7 +203,7 @@ } .warning-icon { - color: #ff9800; + color: var(--warning-color, #ff9800); font-size: 24px; flex-shrink: 0; } @@ -215,13 +215,13 @@ .warning-title { font-size: 16px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 8px; } .warning-text { font-size: 14px; - color: #64748b; + color: var(--text-secondary, #64748b); line-height: 1.6; } @@ -241,38 +241,38 @@ } .btn-danger { - background: #dc3545; - color: white; + background: var(--danger-color, #dc3545); + color: var(--text-on-danger, white); } .btn-danger:hover { - background: #c82333; - box-shadow: 0 4px 12px rgba(220,53,69,0.3); + background: var(--danger-hover, #c82333); + box-shadow: 0 4px 12px var(--danger-shadow, rgba(220,53,69,0.3)); transform: translateY(-1px); } .btn-danger:disabled { - background: #ccc; + background: var(--bg-disabled, #ccc); cursor: not-allowed; transform: none; box-shadow: none; } .btn-secondary { - background: #f8f9ff; - color: #5b5fcf; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + color: var(--primary-color, #5b5fcf); + border: 1px solid var(--border-color, #e8e9ff); } .btn-secondary:hover { - background: #eef0ff; - border-color: #5b5fcf; + background: var(--bg-primary-light, #eef0ff); + border-color: var(--primary-color, #5b5fcf); } /* Confirmation section */ .confirmation-section { - background: #ffebee; - border: 1px solid #ffcdd2; + background: var(--bg-danger-light, #ffebee); + border: 1px solid var(--border-danger-light, #ffcdd2); border-radius: 10px; padding: 25px; margin-top: 25px; @@ -282,27 +282,27 @@ .confirmation-icon { font-size: 48px; - color: #dc3545; + color: var(--danger-color, #dc3545); margin-bottom: 15px; } .confirmation-title { font-size: 20px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 10px; } .confirmation-text { font-size: 14px; - color: #64748b; + color: var(--text-secondary, #64748b); margin-bottom: 20px; } .confirmation-package { font-size: 18px; font-weight: 700; - color: #dc3545; + color: var(--danger-color, #dc3545); margin-bottom: 25px; } @@ -329,15 +329,15 @@ } .alert-danger { - background: #ffebee; - border: 1px solid #ffcdd2; - color: #c62828; + background: var(--bg-danger-light, #ffebee); + border: 1px solid var(--border-danger-light, #ffcdd2); + color: var(--danger-text, #c62828); } .alert-success { - background: #e8f5e9; - border: 1px solid #c8e6c9; - color: #2e7d32; + background: var(--bg-success-light, #e8f5e9); + border: 1px solid var(--border-success-light, #c8e6c9); + color: var(--success-color, #2e7d32); } /* Loading spinner */ @@ -345,8 +345,8 @@ display: inline-block; width: 16px; height: 16px; - border: 2px solid #f3f3f3; - border-top: 2px solid #dc3545; + border: 2px solid var(--spinner-bg, #f3f3f3); + border-top: 2px solid var(--danger-color, #dc3545); border-radius: 50%; animation: spin 1s linear infinite; margin-left: 10px; @@ -361,7 +361,7 @@ .button-container { margin-top: 30px; padding-top: 30px; - border-top: 1px solid #e8e9ff; + border-top: 1px solid var(--border-color, #e8e9ff); } /* Hide elements by default */ diff --git a/packages/templates/packages/index.html b/packages/templates/packages/index.html index 6e2de808f..27b609420 100644 --- a/packages/templates/packages/index.html +++ b/packages/templates/packages/index.html @@ -7,6 +7,99 @@ {% get_current_language as LANGUAGE_CODE %} + +
diff --git a/packages/templates/packages/listPackages.html b/packages/templates/packages/listPackages.html index 0f37143fd..399511507 100644 --- a/packages/templates/packages/listPackages.html +++ b/packages/templates/packages/listPackages.html @@ -22,29 +22,29 @@ .page-title { font-size: 28px; font-weight: 700; - color: #2f3640; + color: var(--text-primary); margin-bottom: 8px; } .page-subtitle { font-size: 14px; - color: #8893a7; + color: var(--text-secondary); } /* Card styles */ .content-card { - background: white; + background: var(--surface-primary); border-radius: 12px; padding: 30px; - box-shadow: 0 2px 8px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + box-shadow: 0 2px 8px var(--shadow-light); + border: 1px solid var(--border-primary); margin-bottom: 25px; } .card-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary); margin-bottom: 25px; display: flex; align-items: center; @@ -55,40 +55,40 @@ content: ''; width: 4px; height: 24px; - background: #5b5fcf; + background: var(--accent-primary); border-radius: 2px; } /* Table styles */ .modern-table { width: 100%; - background: white; + background: var(--surface-primary); border-radius: 10px; overflow: hidden; - box-shadow: 0 1px 3px rgba(0,0,0,0.05); - border: 1px solid #e8e9ff; + box-shadow: 0 1px 3px var(--shadow-xs); + border: 1px solid var(--border-primary); } .modern-table thead { - background: #f8f9ff; + background: var(--surface-secondary); } .modern-table th { padding: 16px 20px; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; - border-bottom: 1px solid #e8e9ff; + border-bottom: 1px solid var(--border-primary); text-align: left; } .modern-table td { padding: 16px 20px; font-size: 14px; - color: #2f3640; - border-bottom: 1px solid #f0f0f0; + color: var(--text-primary); + border-bottom: 1px solid var(--border-light); } .modern-table tbody tr:last-child td { @@ -96,7 +96,7 @@ } .modern-table tbody tr:hover { - background: #fafbff; + background: var(--surface-hover); } /* Resource badges */ @@ -105,17 +105,17 @@ align-items: center; gap: 6px; padding: 4px 10px; - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--surface-secondary); + border: 1px solid var(--border-primary); border-radius: 6px; font-size: 13px; font-weight: 600; } .resource-badge.unlimited { - background: #e8f5e9; - border-color: #c8e6c9; - color: #2e7d32; + background: var(--success-light); + border-color: var(--success-border); + color: var(--success-dark); } /* Status badges */ @@ -130,13 +130,13 @@ } .status-badge.enabled { - background: #e8f5e9; - color: #2e7d32; + background: var(--success-light); + color: var(--success-dark); } .status-badge.disabled { - background: #fff3e0; - color: #f57c00; + background: var(--warning-light); + color: var(--warning-dark); } /* Action buttons */ @@ -160,24 +160,24 @@ } .btn-edit { - background: #f8f9ff; - color: #5b5fcf; + background: var(--surface-secondary); + color: var(--accent-primary); } .btn-edit:hover { - background: #5b5fcf; - color: white; + background: var(--accent-primary); + color: var(--text-inverse); transform: translateY(-1px); } .btn-delete { - background: #ffebee; - color: #dc3545; + background: var(--error-light); + color: var(--error-primary); } .btn-delete:hover { - background: #dc3545; - color: white; + background: var(--error-primary); + color: var(--text-inverse); transform: translateY(-1px); } @@ -185,12 +185,12 @@ .modal-content { border-radius: 12px; border: none; - box-shadow: 0 8px 32px rgba(0,0,0,0.1); + box-shadow: 0 8px 32px var(--shadow-medium); } .modal-header { - background: #f8f9ff; - border-bottom: 1px solid #e8e9ff; + background: var(--surface-secondary); + border-bottom: 1px solid var(--border-primary); border-radius: 12px 12px 0 0; padding: 20px 25px; } @@ -198,7 +198,7 @@ .modal-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary); display: flex; align-items: center; gap: 10px; @@ -209,8 +209,8 @@ } .modal-footer { - background: #f8f9ff; - border-top: 1px solid #e8e9ff; + background: var(--surface-secondary); + border-top: 1px solid var(--border-primary); border-radius: 0 0 12px 12px; padding: 15px 25px; display: flex; @@ -226,7 +226,7 @@ .form-section-title { font-size: 14px; font-weight: 700; - color: #2f3640; + color: var(--text-primary); margin-bottom: 15px; display: flex; align-items: center; @@ -234,7 +234,7 @@ } .form-section-title i { - color: #5b5fcf; + color: var(--accent-primary); } .form-group { @@ -245,7 +245,7 @@ display: block; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-muted); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; @@ -254,26 +254,26 @@ .form-control { width: 100%; padding: 10px 14px; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-primary); border-radius: 8px; font-size: 14px; - color: #2f3640; - background: white; + color: var(--text-primary); + background: var(--surface-primary); transition: all 0.2s ease; } .form-control:hover { - border-color: #5b5fcf; + border-color: var(--accent-primary); } .form-control:focus { outline: none; - border-color: #5b5fcf; - box-shadow: 0 0 0 3px rgba(91,95,207,0.1); + border-color: var(--accent-primary); + box-shadow: 0 0 0 3px var(--accent-focus); } .form-control[readonly] { - background: #f8f9ff; + background: var(--surface-secondary); cursor: not-allowed; } @@ -289,13 +289,13 @@ } .input-suffix { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--surface-secondary); + border: 1px solid var(--border-primary); border-left: none; padding: 10px 16px; border-radius: 0 8px 8px 0; font-size: 13px; - color: #64748b; + color: var(--text-muted); font-weight: 600; white-space: nowrap; } @@ -303,7 +303,7 @@ /* Help text */ .help-text { font-size: 12px; - color: #8893a7; + color: var(--text-secondary); margin-top: 6px; } @@ -313,8 +313,8 @@ align-items: start; gap: 10px; padding: 12px 16px; - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--surface-secondary); + border: 1px solid var(--border-primary); border-radius: 8px; transition: all 0.2s ease; cursor: pointer; @@ -322,8 +322,8 @@ } .checkbox-wrapper:hover { - border-color: #5b5fcf; - background: #f0f1ff; + border-color: var(--accent-primary); + background: var(--accent-lighter); } .checkbox-wrapper input[type="checkbox"] { @@ -331,7 +331,7 @@ height: 18px; border-radius: 4px; cursor: pointer; - accent-color: #5b5fcf; + accent-color: var(--accent-primary); margin-top: 2px; } @@ -341,7 +341,7 @@ .checkbox-label { font-size: 14px; - color: #2f3640; + color: var(--text-primary); font-weight: 600; cursor: pointer; user-select: none; @@ -351,7 +351,7 @@ .checkbox-desc { font-size: 12px; - color: #8893a7; + color: var(--text-secondary); line-height: 1.5; } @@ -371,25 +371,25 @@ } .btn-primary { - background: #5b5fcf; - color: white; + background: var(--accent-primary); + color: var(--text-inverse); } .btn-primary:hover { - background: #4a4fc4; - box-shadow: 0 4px 12px rgba(91,95,207,0.3); + background: var(--accent-dark); + box-shadow: 0 4px 12px var(--accent-shadow); transform: translateY(-1px); } .btn-secondary { - background: #f8f9ff; - color: #5b5fcf; - border: 1px solid #e8e9ff; + background: var(--surface-secondary); + color: var(--accent-primary); + border: 1px solid var(--border-primary); } .btn-secondary:hover { - background: #eef0ff; - border-color: #5b5fcf; + background: var(--accent-light); + border-color: var(--accent-primary); } /* Loading spinner */ @@ -397,8 +397,8 @@ display: inline-block; width: 16px; height: 16px; - border: 2px solid #f3f3f3; - border-top: 2px solid #5b5fcf; + border: 2px solid var(--border-light); + border-top: 2px solid var(--accent-primary); border-radius: 50%; animation: spin 1s linear infinite; margin-left: 10px; diff --git a/packages/templates/packages/modifyPackage.html b/packages/templates/packages/modifyPackage.html index 222a58888..51435a611 100644 --- a/packages/templates/packages/modifyPackage.html +++ b/packages/templates/packages/modifyPackage.html @@ -22,29 +22,29 @@ .page-title { font-size: 28px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 8px; } .page-subtitle { font-size: 14px; - color: #8893a7; + color: var(--text-secondary, #8893a7); } /* Card styles */ .content-card { - background: white; + background: var(--bg-secondary, white); border-radius: 12px; padding: 30px; - box-shadow: 0 2px 8px rgba(0,0,0,0.08); - border: 1px solid #e8e9ff; + box-shadow: 0 2px 8px var(--shadow-color, rgba(0,0,0,0.08)); + border: 1px solid var(--border-color, #e8e9ff); margin-bottom: 25px; } .card-title { font-size: 18px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 25px; display: flex; align-items: center; @@ -55,7 +55,7 @@ content: ''; width: 4px; height: 24px; - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); border-radius: 2px; } @@ -68,7 +68,7 @@ display: block; font-size: 13px; font-weight: 600; - color: #64748b; + color: var(--text-label, #64748b); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; @@ -77,26 +77,26 @@ .form-control { width: 100%; padding: 10px 14px; - border: 1px solid #e8e9ff; + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; font-size: 14px; - color: #2f3640; - background: white; + color: var(--text-primary, #2f3640); + background: var(--bg-secondary, white); transition: all 0.2s ease; } .form-control:hover { - border-color: #5b5fcf; + border-color: var(--accent-color, #5b5fcf); } .form-control:focus { outline: none; - border-color: #5b5fcf; - box-shadow: 0 0 0 3px rgba(91,95,207,0.1); + border-color: var(--accent-color, #5b5fcf); + box-shadow: 0 0 0 3px var(--focus-shadow, rgba(91,95,207,0.1)); } .form-control[readonly] { - background: #f8f9ff; + background: var(--bg-hover, #f8f9ff); cursor: not-allowed; } @@ -118,8 +118,8 @@ /* Windows-specific fixes */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { select.form-control { - color: #2f3640 !important; - background-color: white !important; + color: var(--text-primary, #2f3640) !important; + background-color: var(--bg-secondary, white) !important; } } @@ -129,14 +129,14 @@ } select.form-control:focus { - color: #2f3640; - background-color: white; + color: var(--text-primary, #2f3640); + background-color: var(--bg-secondary, white); } /* Package selector card */ .package-selector-card { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -154,13 +154,13 @@ } .input-suffix { - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-left: none; padding: 10px 16px; border-radius: 0 8px 8px 0; font-size: 13px; - color: #64748b; + color: var(--text-label, #64748b); font-weight: 600; white-space: nowrap; } @@ -168,13 +168,13 @@ /* Help text */ .help-text { font-size: 12px; - color: #8893a7; + color: var(--text-secondary, #8893a7); margin-top: 6px; } /* Form section */ .form-section { - background: #f8f9ff; + background: var(--bg-hover, #f8f9ff); border-radius: 10px; padding: 20px; margin-bottom: 25px; @@ -183,7 +183,7 @@ .form-section-title { font-size: 15px; font-weight: 700; - color: #2f3640; + color: var(--text-primary, #2f3640); margin-bottom: 20px; display: flex; align-items: center; @@ -191,7 +191,7 @@ } .form-section-title i { - color: #5b5fcf; + color: var(--accent-color, #5b5fcf); } /* Form row */ @@ -212,8 +212,8 @@ align-items: start; gap: 10px; padding: 12px 16px; - background: #f8f9ff; - border: 1px solid #e8e9ff; + background: var(--bg-hover, #f8f9ff); + border: 1px solid var(--border-color, #e8e9ff); border-radius: 8px; transition: all 0.2s ease; cursor: pointer; @@ -221,8 +221,8 @@ } .checkbox-wrapper:hover { - border-color: #5b5fcf; - background: #f0f1ff; + border-color: var(--accent-color, #5b5fcf); + background: var(--bg-hover-alt, #f0f1ff); } .checkbox-wrapper input[type="checkbox"] { @@ -230,7 +230,7 @@ height: 18px; border-radius: 4px; cursor: pointer; - accent-color: #5b5fcf; + accent-color: var(--accent-color, #5b5fcf); margin-top: 2px; } @@ -240,7 +240,7 @@ .checkbox-label { font-size: 14px; - color: #2f3640; + color: var(--text-primary, #2f3640); font-weight: 600; cursor: pointer; user-select: none; @@ -250,7 +250,7 @@ .checkbox-desc { font-size: 12px; - color: #8893a7; + color: var(--text-secondary, #8893a7); line-height: 1.5; } @@ -270,18 +270,18 @@ } .btn-primary { - background: #5b5fcf; + background: var(--accent-color, #5b5fcf); color: white; } .btn-primary:hover { - background: #4a4fc4; - box-shadow: 0 4px 12px rgba(91,95,207,0.3); + background: var(--accent-hover, #4a4fc4); + box-shadow: 0 4px 12px var(--accent-shadow, rgba(91,95,207,0.3)); transform: translateY(-1px); } .btn-primary:disabled { - background: #ccc; + background: var(--bg-disabled, #ccc); cursor: not-allowed; transform: none; box-shadow: none; @@ -304,15 +304,15 @@ } .alert-danger { - background: #ffebee; - border: 1px solid #ffcdd2; - color: #c62828; + background: var(--danger-bg, #ffebee); + border: 1px solid var(--danger-border, #ffcdd2); + color: var(--danger-text, #c62828); } .alert-success { - background: #e8f5e9; - border: 1px solid #c8e6c9; - color: #2e7d32; + background: var(--success-bg, #e8f5e9); + border: 1px solid var(--success-border, #c8e6c9); + color: var(--success-text, #2e7d32); } /* Loading spinner */ @@ -320,8 +320,8 @@ display: inline-block; width: 16px; height: 16px; - border: 2px solid #f3f3f3; - border-top: 2px solid #5b5fcf; + border: 2px solid var(--spinner-bg, #f3f3f3); + border-top: 2px solid var(--accent-color, #5b5fcf); border-radius: 50%; animation: spin 1s linear infinite; margin-left: 10px; @@ -336,7 +336,7 @@ .button-container { margin-top: 30px; padding-top: 30px; - border-top: 1px solid #e8e9ff; + border-top: 1px solid var(--border-color, #e8e9ff); display: none; } diff --git a/websiteFunctions/templates/websiteFunctions/installJoomla.html b/websiteFunctions/templates/websiteFunctions/installJoomla.html index bf105f89e..ba08b2e78 100644 --- a/websiteFunctions/templates/websiteFunctions/installJoomla.html +++ b/websiteFunctions/templates/websiteFunctions/installJoomla.html @@ -8,7 +8,7 @@