usmannasir 2025-07-02 01:04:36 +05:00
parent c84a07cf4b
commit 65590357b9
6 changed files with 387 additions and 56 deletions

View File

@ -4,6 +4,11 @@
{% block header_scripts %}
<style>
/* Prevent Angular flicker on page load */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
/* Dashboard Specific Styles */
.dashboard-wrapper {
background: transparent;
@ -297,6 +302,12 @@
justify-content: center;
padding: 20px;
backdrop-filter: blur(2px);
/* Initially hidden to prevent flicker on page load */
display: none;
}
.modal-backdrop.show {
display: flex;
}
.modal-content {
@ -743,7 +754,7 @@
</div>
<!-- SSH Activity Modal -->
<div ng-if="showSSHActivityModal" class="modal-backdrop" ng-click="closeModalOnBackdrop($event)">
<div ng-show="showSSHActivityModal" class="modal-backdrop show ng-cloak" ng-click="closeModalOnBackdrop($event)">
<div class="modal-content">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px;">
<div style="font-size: 1.2rem; font-weight: 800; color: #5b5fcf;">

View File

@ -33,9 +33,10 @@
}
.page-subtitle {
font-size: 1.125rem;
font-size: 1.25rem;
color: #64748b;
margin-bottom: 0;
line-height: 1.5;
}
.header-actions {
@ -86,9 +87,10 @@
.form-label {
display: block;
margin-bottom: 0.5rem;
font-weight: 500;
font-weight: 600;
color: #1e293b;
font-size: 0.875rem;
font-size: 0.9375rem;
letter-spacing: 0.3px;
}
.form-control {
@ -98,6 +100,8 @@
border-radius: 8px;
font-size: 0.875rem;
transition: all 0.3s ease;
color: #2f3640;
background-color: white;
background: #fff;
}
@ -107,6 +111,77 @@
box-shadow: 0 0 0 3px rgba(91, 95, 207, 0.1);
}
/* Specific styling for select elements to fix Windows visibility issues */
select.form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: white;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5fcf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
padding-right: 40px;
color: #2f3640 !important;
font-size: 0.9375rem !important;
line-height: 1.5;
height: auto;
min-height: 42px;
}
/* Ensure option text is visible */
select.form-control option {
color: #2f3640;
background-color: white;
padding: 8px;
font-size: 0.9375rem;
}
/* Fix for Windows high contrast mode */
@media screen and (-ms-high-contrast: active) {
select.form-control {
border: 2px solid;
}
select.form-control option {
background: white;
color: black;
}
}
/* Specific focus styles for select */
select.form-control:focus {
background-color: white;
color: #2f3640;
}
/* Additional Windows-specific fixes */
@supports (-ms-ime-align: auto) {
/* Edge/IE specific styles */
select.form-control {
color: #2f3640 !important;
background-color: white !important;
}
}
/* Fix for Firefox on Windows */
@-moz-document url-prefix() {
select.form-control {
color: #2f3640 !important;
text-shadow: none;
}
}
/* Ensure selected option is always visible */
select.form-control::-ms-value {
color: #2f3640;
background-color: white;
}
/* Fix for Chrome on Windows */
select.form-control:not(:focus):not(:hover) {
color: #2f3640 !important;
}
.btn-primary {
background: #5b5fcf;
color: white;
@ -151,13 +226,14 @@
background: #fff;
color: #ef4444;
border: 1px solid #fee2e2;
padding: 0.5rem 1rem;
padding: 0.625rem 1.125rem;
border-radius: 6px;
font-weight: 500;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
font-size: 0.875rem;
font-size: 0.9375rem;
letter-spacing: 0.3px;
}
.btn-danger:hover {
@ -170,13 +246,14 @@
background: #fff;
color: #5b5fcf;
border: 1px solid #e8e9ff;
padding: 0.5rem 1rem;
padding: 0.625rem 1.125rem;
border-radius: 6px;
font-weight: 500;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
font-size: 0.875rem;
font-size: 0.9375rem;
letter-spacing: 0.3px;
}
.btn-action:hover {
@ -241,7 +318,7 @@
.info-card h4 {
color: #1e293b;
font-size: 1rem;
font-size: 1.125rem;
font-weight: 600;
margin-bottom: 1rem;
display: flex;
@ -261,17 +338,18 @@
.config-table th {
background: #5b5fcf;
color: white;
padding: 0.75rem 1rem;
padding: 0.875rem 1rem;
text-align: left;
font-weight: 600;
font-size: 0.875rem;
font-size: 0.9375rem;
}
.config-table td {
padding: 0.75rem 1rem;
padding: 0.875rem 1rem;
border-bottom: 1px solid #f3f4f6;
font-size: 0.875rem;
color: #64748b;
font-size: 0.9375rem;
color: #2f3640;
line-height: 1.5;
}
.config-table tr:last-child td {
@ -291,21 +369,22 @@
}
.email-table th {
padding: 1rem;
padding: 1.25rem 1rem;
text-align: left;
font-weight: 600;
font-weight: 700;
color: #1e293b;
font-size: 0.875rem;
font-size: 0.9375rem;
text-transform: uppercase;
letter-spacing: 0.05em;
border-bottom: 1px solid #e8e9ff;
letter-spacing: 0.75px;
border-bottom: 2px solid #e8e9ff;
}
.email-table td {
padding: 1rem;
color: #64748b;
font-size: 0.875rem;
padding: 1.25rem 1rem;
color: #2f3640;
font-size: 0.9375rem;
border-bottom: 1px solid #f3f4f6;
line-height: 1.5;
}
.email-table tbody tr:hover {
@ -373,19 +452,21 @@
}
.modal .form-horizontal .control-label {
font-weight: 500;
font-weight: 600;
color: #1e293b;
font-size: 0.875rem;
font-size: 0.9375rem;
padding-top: 0.75rem;
text-align: right;
letter-spacing: 0.3px;
}
.modal .form-control {
padding: 0.75rem 1rem;
padding: 0.875rem 1rem;
border: 1px solid #e8e9ff;
border-radius: 8px;
font-size: 0.875rem;
font-size: 1rem;
transition: all 0.3s ease;
line-height: 1.5;
}
.modal .form-control:focus {
@ -625,10 +706,10 @@
<tr ng-repeat="record in records track by $index">
<td>
<i class="fas fa-user-circle" style="color: #5b5fcf; margin-right: 0.5rem;"></i>
<strong ng-bind="record.email"></strong>
<strong style="font-size: 0.9375rem; color: #1e293b;" ng-bind="record.email"></strong>
</td>
<td>
<span style="padding: 0.25rem 0.75rem; background: #f0f1ff; color: #5b5fcf; border-radius: 4px; font-weight: 500; font-size: 0.75rem;">
<span style="padding: 0.375rem 0.875rem; background: #f0f1ff; color: #5b5fcf; border-radius: 4px; font-weight: 600; font-size: 0.875rem;">
{{ record.DiskUsage }}
</span>
</td>

View File

@ -36,7 +36,7 @@
.section-title {
font-size: 2rem;
font-weight: 700;
color: #2f3640;
color: #1a1a2e;
text-transform: uppercase;
letter-spacing: 0.5px;
margin: 0;
@ -50,8 +50,9 @@
background: linear-gradient(135deg, #5b5fcf 0%, #7b7fd0 100%);
border: none;
border-radius: 8px;
padding: 0.5rem 1.5rem;
padding: 0.625rem 1.5rem;
font-weight: 600;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.3s ease;
@ -73,27 +74,33 @@
}
.table thead th {
background: #f8f9ff;
color: #2f3640;
color: #1a1a2e;
font-weight: 700;
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 0.5px;
padding: 1rem;
font-size: 0.875rem;
letter-spacing: 0.75px;
padding: 1.25rem 1rem;
border: none;
border-bottom: 2px solid #e8e9ff;
text-align: left;
}
.table tbody td {
padding: 1rem;
padding: 1.25rem 1rem;
vertical-align: middle;
color: #2f3640;
font-size: 0.9375rem;
border-bottom: 1px solid #f0f0ff;
line-height: 1.5;
}
.table tbody td strong {
color: #1a1a2e;
font-weight: 600;
}
.table tbody tr:hover {
background: #f8f9ff;
}
.btn-action {
padding: 0.375rem 0.75rem;
padding: 0.5rem 0.875rem;
font-size: 0.875rem;
border-radius: 6px;
font-weight: 600;
@ -103,6 +110,7 @@
margin: 0 0.25rem;
border: 1px solid transparent;
cursor: pointer;
letter-spacing: 0.3px;
}
.btn-suspend {
color: #ef4444;
@ -149,18 +157,21 @@
text-decoration: none;
}
.state-badge {
padding: 0.25rem 0.75rem;
padding: 0.375rem 0.875rem;
border-radius: 20px;
font-size: 0.85rem;
font-size: 0.875rem;
font-weight: 600;
letter-spacing: 0.3px;
}
.state-active {
background: rgba(16, 185, 129, 0.1);
background: rgba(16, 185, 129, 0.15);
color: #065f46;
border: 1px solid rgba(16, 185, 129, 0.2);
}
.state-suspended {
background: rgba(239, 68, 68, 0.1);
background: rgba(239, 68, 68, 0.15);
color: #991b1b;
border: 1px solid rgba(239, 68, 68, 0.2);
}
.loading-icon {
width: 20px;
@ -179,25 +190,30 @@
}
.modal-title {
font-weight: 700;
color: #2f3640;
color: #1a1a2e;
font-size: 1.25rem;
}
.modal-body {
padding: 2rem;
}
.form-label {
color: #2f3640;
color: #1a1a2e;
font-weight: 600;
font-size: 0.9375rem;
margin-bottom: 0.5rem;
display: block;
letter-spacing: 0.3px;
}
.form-control {
border: 1px solid #e8e9ff;
border-radius: 8px;
padding: 0.75rem 1rem;
padding: 0.875rem 1rem;
font-size: 1rem;
transition: all 0.3s ease;
width: 100%;
box-sizing: border-box;
color: #2f3640;
line-height: 1.5;
}
.form-control:focus {
border-color: #5b5fcf;
@ -205,10 +221,11 @@
outline: none;
}
.danger-text {
color: #ef4444;
color: #dc2626;
font-weight: 600;
font-size: 1.1rem;
font-size: 1rem;
margin-bottom: 1rem;
line-height: 1.5;
}
.btn-danger {
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
@ -231,30 +248,39 @@
padding-left: 12px;
padding-right: 12px;
}
.content-card {
padding: 1.5rem;
}
.section-title {
float: none;
text-align: center;
margin-bottom: 1rem;
font-size: 1.5rem;
}
.header-actions {
float: none;
text-align: center;
margin-top: 0;
}
.table-card {
padding: 1rem;
}
.table {
font-size: 0.9rem;
font-size: 0.875rem;
}
.table thead th {
font-size: 0.8125rem;
padding: 0.875rem 0.625rem;
}
.table thead th,
.table tbody td {
padding: 0.5rem;
padding: 0.875rem 0.625rem;
font-size: 0.875rem;
}
.btn-action {
padding: 0.25rem 0.5rem;
font-size: 0.8rem;
margin: 0.1rem;
padding: 0.375rem 0.625rem;
font-size: 0.8125rem;
margin: 0.125rem;
}
.state-badge {
font-size: 0.8125rem;
padding: 0.25rem 0.625rem;
}
}
</style>

View File

@ -85,6 +85,43 @@
transition: all 0.2s ease;
}
/* Specific styling for select elements to fix Windows visibility issues */
select.form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: white;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
padding-right: 40px;
color: #2f3640 !important;
font-size: 14px !important;
line-height: 1.5;
height: auto;
min-height: 42px;
}
/* Ensure option text is visible */
select.form-control option {
color: #2f3640;
background-color: white;
padding: 8px;
font-size: 14px;
}
/* Fix for Windows high contrast mode */
@media screen and (-ms-high-contrast: active) {
select.form-control {
border: 2px solid;
}
select.form-control option {
background: white;
color: black;
}
}
.form-control:hover {
border-color: #dc3545;
}
@ -95,6 +132,12 @@
box-shadow: 0 0 0 3px rgba(220,53,69,0.1);
}
/* Specific focus styles for select */
select.form-control:focus {
background-color: white;
color: #2f3640;
}
/* Website selector card */
.website-selector-card {
background: #fff5f5;
@ -349,6 +392,34 @@
display: none;
}
/* Additional Windows-specific fixes */
@supports (-ms-ime-align: auto) {
/* Edge/IE specific styles */
select.form-control {
color: #2f3640 !important;
background-color: white !important;
}
}
/* Fix for Firefox on Windows */
@-moz-document url-prefix() {
select.form-control {
color: #2f3640 !important;
text-shadow: none;
}
}
/* Ensure selected option is always visible */
select.form-control::-ms-value {
color: #2f3640;
background-color: white;
}
/* Fix for Chrome on Windows */
select.form-control:not(:focus):not(:hover) {
color: #2f3640 !important;
}
@media (max-width: 768px) {
.content-card {
padding: 20px;

View File

@ -85,6 +85,43 @@
transition: all 0.2s ease;
}
/* Specific styling for select elements to fix Windows visibility issues */
select.form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: white;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5fcf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
padding-right: 40px;
color: #2f3640 !important;
font-size: 14px !important;
line-height: 1.5;
height: auto;
min-height: 42px;
}
/* Ensure option text is visible */
select.form-control option {
color: #2f3640;
background-color: white;
padding: 8px;
font-size: 14px;
}
/* Fix for Windows high contrast mode */
@media screen and (-ms-high-contrast: active) {
select.form-control {
border: 2px solid;
}
select.form-control option {
background: white;
color: black;
}
}
.form-control:hover {
border-color: #5b5fcf;
}
@ -95,6 +132,12 @@
box-shadow: 0 0 0 3px rgba(91,95,207,0.1);
}
/* Specific focus styles for select */
select.form-control:focus {
background-color: white;
color: #2f3640;
}
/* Current value display */
.current-value {
display: inline-block;
@ -293,6 +336,34 @@
display: none;
}
/* Additional Windows-specific fixes */
@supports (-ms-ime-align: auto) {
/* Edge/IE specific styles */
select.form-control {
color: #2f3640 !important;
background-color: white !important;
}
}
/* Fix for Firefox on Windows */
@-moz-document url-prefix() {
select.form-control {
color: #2f3640 !important;
text-shadow: none;
}
}
/* Ensure selected option is always visible */
select.form-control::-ms-value {
color: #2f3640;
background-color: white;
}
/* Fix for Chrome on Windows */
select.form-control:not(:focus):not(:hover) {
color: #2f3640 !important;
}
@media (max-width: 768px) {
.form-row {
grid-template-columns: 1fr;

View File

@ -85,6 +85,43 @@
transition: all 0.2s ease;
}
/* Specific styling for select elements to fix Windows visibility issues */
select.form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: white;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5fcf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
padding-right: 40px;
color: #2f3640 !important;
font-size: 14px !important;
line-height: 1.5;
height: auto;
min-height: 42px;
}
/* Ensure option text is visible */
select.form-control option {
color: #2f3640;
background-color: white;
padding: 8px;
font-size: 14px;
}
/* Fix for Windows high contrast mode */
@media screen and (-ms-high-contrast: active) {
select.form-control {
border: 2px solid;
}
select.form-control option {
background: white;
color: black;
}
}
.form-control:hover {
border-color: #5b5fcf;
}
@ -95,6 +132,12 @@
box-shadow: 0 0 0 3px rgba(91,95,207,0.1);
}
/* Specific focus styles for select */
select.form-control:focus {
background-color: white;
color: #2f3640;
}
/* Website selector card */
.website-selector-card {
background: #f8f9ff;
@ -370,6 +413,34 @@
}
/* Additional Windows-specific fixes */
@supports (-ms-ime-align: auto) {
/* Edge/IE specific styles */
select.form-control {
color: #2f3640 !important;
background-color: white !important;
}
}
/* Fix for Firefox on Windows */
@-moz-document url-prefix() {
select.form-control {
color: #2f3640 !important;
text-shadow: none;
}
}
/* Ensure selected option is always visible */
select.form-control::-ms-value {
color: #2f3640;
background-color: white;
}
/* Fix for Chrome on Windows */
select.form-control:not(:focus):not(:hover) {
color: #2f3640 !important;
}
@media (max-width: 768px) {
.state-selection {
flex-direction: column;