- Modernized authentication with the introduction of TenantProject
- Created a base mail template - Adapt and improve document API to usage of catalogs and processors - Adapt eveai_sync to new authentication mechanism and usage of catalogs and processors
This commit is contained in:
@@ -51,6 +51,7 @@ http {
|
||||
location = / {
|
||||
return 301 /admin/;
|
||||
}
|
||||
|
||||
location / {
|
||||
root /etc/nginx/public;
|
||||
index index.html index.htm;
|
||||
|
||||
@@ -539,3 +539,101 @@ select.select2[multiple] {
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
/* REQUIRED FIELD SETTINGS ---------------------------------------------------- */
|
||||
/* Required field indicator styling */
|
||||
.field-label-wrapper {
|
||||
display: flex;
|
||||
align-items: baseline; /* Changed from center to baseline for proper text alignment */
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.required-field-indicator {
|
||||
display: inline-flex;
|
||||
align-items: baseline; /* Match the wrapper's alignment */
|
||||
}
|
||||
|
||||
.required-field-indicator .required-icon {
|
||||
font-size: 0.7rem;
|
||||
transition: transform 0.2s ease-in-out;
|
||||
opacity: 0.8;
|
||||
line-height: 1; /* Ensure proper vertical alignment */
|
||||
}
|
||||
|
||||
/* Hover animation */
|
||||
.field-label-wrapper:hover .required-icon {
|
||||
transform: scale(1.2);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Animation when field is invalid */
|
||||
.is-invalid + .field-label-wrapper .required-icon {
|
||||
color: var(--bs-danger);
|
||||
animation: pulse 1s infinite;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
opacity: 0.8;
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.2);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide visually but maintain accessibility */
|
||||
.visually-hidden {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* TAB ERROR STYLES ----------------------------------------------------------- */
|
||||
/* Style for tabs with errors */
|
||||
.nav-link.has-error {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-link.has-error::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background-color: var(--bs-danger);
|
||||
border-radius: 50%;
|
||||
transform: translate(50%, -50%);
|
||||
}
|
||||
|
||||
/* Enhance the invalid field visualization */
|
||||
.form-control:invalid {
|
||||
border-color: var(--bs-danger);
|
||||
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
|
||||
}
|
||||
|
||||
/* Add smooth transition for tab changes */
|
||||
.tab-pane {
|
||||
transition: opacity 0.15s linear;
|
||||
}
|
||||
|
||||
.tab-pane.fade {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.tab-pane.fade.show {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user