Files
EnvelopeGenerator/EnvelopeGenerator.ReceiverUI/wwwroot/css/app.css
TekH 614a275740 Enhance signature handling and annotation features
- Added dependency injection for `AnnotationService`, `DocumentService`, and `AuthService` in `ReportViewer.razor`.
- Improved signature button logic with dynamic appearance and feedback.
- Introduced annotation checkbox overlays for marking signature fields.
- Refactored signature saving and application logic into `SaveSignatureAsync` and `SubmitSignaturesAsync`.
- Added `BuildFreshBaseReport` and `AddAnnotationPlaceholders` for dynamic report creation.
- Implemented annotation-specific signature placement with `AddSignatureAtAnnotation`.
- Enhanced state management for annotations and signature overlays.
- Updated `app.css` with styles for annotation checkboxes.
- Added cache-control headers and versioned JavaScript in `index.html`.
- Improved `receiver-signature.js` with annotation checkbox management, optimized signature pad logic, and debugging utilities.
- Performed general code cleanup and optimization for maintainability.
2026-05-31 16:38:41 +02:00

134 lines
2.9 KiB
CSS

@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
padding: 0;
}
html, body {
height: 100%;
overflow: hidden;
}
article {
height: calc(100vh - 70px);
display: flex;
flex-direction: column;
overflow: hidden;
padding-left: 0 !important;
padding-right: 0 !important;
}
.receiver-page-layout {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
}
.receiver-signature-panel {
flex: 0 0 auto;
}
.receiver-viewer-wrapper {
flex: 1 1 0;
min-height: 0;
overflow: hidden;
}
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
outline: 1px solid red;
}
.validation-message {
color: red;
}
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}
.dx-blazor-reporting-container {
height: calc(100vh - 130px) !important;
width: 100% !important;
}
/* ── Force DevExpress viewer pages into a single centered column ─────────── */
.dxbrv-report-preview-content {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
}
/* ── Annotation signature checkbox overlays ─────────────────────────────── */
.annot-sig-cb-wrapper {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
border-radius: 4px;
font-size: 0.82rem;
font-weight: 700;
font-family: "Segoe UI", Arial, sans-serif;
padding: 0 10px;
overflow: hidden;
transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
box-shadow: 0 2px 6px rgba(0,0,0,0.25);
background-color: rgba(255, 236, 153, 0.97);
border: 2px dashed #e65100;
color: #5d2600;
user-select: none;
}
.annot-sig-cb-wrapper:hover {
background-color: rgba(255, 213, 79, 1);
border-color: #bf360c;
box-shadow: 0 3px 10px rgba(230, 81, 0, 0.4);
}
.annot-sig-cb-wrapper--checked {
background-color: rgba(200, 230, 201, 0.97);
border: 2px solid #2e7d32;
color: #1b5e20;
box-shadow: 0 1px 4px rgba(46, 125, 50, 0.25);
}
.annot-sig-cb-wrapper--checked:hover {
background-color: rgba(165, 214, 167, 1);
border-color: #1b5e20;
box-shadow: 0 3px 10px rgba(46, 125, 50, 0.35);
}
.annot-sig-cb {
width: 18px;
height: 18px;
flex-shrink: 0;
cursor: pointer;
accent-color: #2e7d32;
}
.annot-sig-cb__label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
pointer-events: none;
}