Files
cbsnexora/src/app/clients/client-stepper/client-kyc-step/image-crop-dialog/image-crop-dialog.component.scss
T
AdityaandClaude Opus 4.6 d72e969dc3 feat: Client & CKYC UI improvements — filters, KYC management, image crop+merge
- Clients list: CKYC icon, CKYC Number column, status/legal form/CKYC filters
- CKYC: SFTP upload logs, date formatting, modal z-index fix, non-dismissible dialogs
- KYC Management: new standalone module with alert dashboard, notification scheduler, audit inventory, account status
- Image cropper: ngx-image-cropper integration for front+back document merge into single PNG
- Sidebar: KYC Management menu entry after CKYC

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 13:51:11 +05:30

177 lines
2.7 KiB
SCSS

/**
* Copyright since 2025 Mifos Initiative
*/
$blue: #1353a0;
$navy: #0f172a;
.crop-dialog {
width: 620px;
max-width: 95vw;
}
.crop-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 24px 12px;
border-bottom: 1px solid #e2e8f0;
&__left {
display: flex;
align-items: center;
gap: 10px;
}
&__icon {
font-size: 16px;
color: $blue;
}
&__title {
font-size: 16px;
font-weight: 600;
color: $navy;
}
&__close {
width: 30px;
height: 30px;
border: none;
background: #f1f5f9;
border-radius: 6px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #64748b;
transition: all 0.15s;
&:hover {
background: #e2e8f0;
color: $navy;
}
}
}
.crop-body {
padding: 20px 24px !important;
overflow: visible !important;
max-height: 70vh !important;
}
.crop-loading {
text-align: center;
padding: 40px;
color: #94a3b8;
font-size: 14px;
}
.hidden {
display: none !important;
}
.crop-workspace {
display: flex;
gap: 20px;
align-items: flex-start;
}
.crop-source {
flex: 1;
min-width: 0;
canvas {
cursor: crosshair;
border: 1px solid #e2e8f0;
border-radius: 8px;
display: block;
max-width: 100%;
}
}
.crop-hint {
font-size: 11px;
color: #94a3b8;
margin-top: 6px;
text-align: center;
}
.crop-preview-panel {
width: 160px;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.crop-preview-label {
font-size: 11px;
font-weight: 600;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.crop-preview-box {
width: 150px;
height: 150px;
border: 2px solid $blue;
border-radius: 8px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
background: #f8fafc;
canvas {
display: block;
max-width: 100%;
max-height: 100%;
}
}
.crop-preview-size {
font-size: 10px;
color: #94a3b8;
font-family: 'Roboto Mono', monospace;
}
.crop-actions {
padding: 12px 24px 16px !important;
border-top: 1px solid #e2e8f0;
margin: 0 !important;
display: flex !important;
justify-content: flex-end !important;
gap: 10px !important;
button {
border-radius: 8px !important;
font-size: 13px !important;
font-weight: 600 !important;
}
&__icon {
margin-right: 6px;
font-size: 12px;
}
}
@media (width <= 600px) {
.crop-workspace {
flex-direction: column;
}
.crop-preview-panel {
width: 100%;
flex-direction: row;
justify-content: center;
}
.crop-preview-box {
width: 100px;
height: 100px;
}
}