mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-06-19 00:42:05 -03:00
fix(modals): tone down batch summary modal styling - remove icons, flatten gradients, lock to design tokens
- Metadata Fetch Summary: remove per-card icons, demote total/duration cards
to neutral border, drop title icon, fix table header border width
- Batch Import Summary: replace 3em centered hero with inline left-aligned
layout, flatten progress bar gradient, simplify circular badges to plain
colored icons, unify border widths to 4px and token namespace to --color-
- Lock all off-scale em typography to --text-{xs,lg} design tokens
This commit is contained in:
@@ -349,8 +349,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.progress-percentage {
|
.progress-percentage {
|
||||||
font-size: 1.2em;
|
font-size: var(--text-lg);
|
||||||
font-weight: 600;
|
font-weight: var(--weight-semibold);
|
||||||
color: var(--lora-accent);
|
color: var(--lora-accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,9 +365,9 @@
|
|||||||
|
|
||||||
.progress-bar {
|
.progress-bar {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: linear-gradient(90deg, var(--lora-accent), oklch(from var(--lora-accent) calc(l + 0.1) c h));
|
background: var(--lora-accent);
|
||||||
border-radius: 4px;
|
border-radius: var(--border-radius-xs);
|
||||||
transition: width 0.3s ease;
|
transition: width var(--transition-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Progress Stats */
|
/* Progress Stats */
|
||||||
@@ -389,27 +389,26 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stat-item.success {
|
.stat-item.success {
|
||||||
border-left: 3px solid var(--color-success);
|
border-left: 4px solid var(--color-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-item.failed {
|
.stat-item.failed {
|
||||||
border-left: 3px solid var(--lora-error);
|
border-left: 4px solid var(--color-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-item.skipped {
|
.stat-item.skipped {
|
||||||
border-left: 3px solid var(--lora-warning);
|
border-left: 4px solid var(--color-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-label {
|
.stat-label {
|
||||||
font-size: 0.8em;
|
font-size: var(--text-xs);
|
||||||
color: var(--text-color);
|
color: var(--text-secondary);
|
||||||
opacity: 0.7;
|
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-value {
|
.stat-value {
|
||||||
font-size: 1.4em;
|
font-size: var(--text-lg);
|
||||||
font-weight: 600;
|
font-weight: var(--weight-semibold);
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,8 +424,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.current-item-label {
|
.current-item-label {
|
||||||
color: var(--text-color);
|
color: var(--text-secondary);
|
||||||
opacity: 0.7;
|
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,27 +447,29 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.results-header {
|
.results-header {
|
||||||
text-align: center;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: var(--space-2);
|
||||||
margin-bottom: var(--space-3);
|
margin-bottom: var(--space-3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.results-icon {
|
.results-icon {
|
||||||
font-size: 3em;
|
font-size: var(--text-xl);
|
||||||
color: var(--color-success);
|
color: var(--color-success);
|
||||||
margin-bottom: var(--space-1);
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.results-icon.warning {
|
.results-icon.warning {
|
||||||
color: var(--lora-warning);
|
color: var(--color-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.results-icon.error {
|
.results-icon.error {
|
||||||
color: var(--lora-error);
|
color: var(--color-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
.results-title {
|
.results-title {
|
||||||
font-size: 1.3em;
|
font-size: var(--text-lg);
|
||||||
font-weight: 600;
|
font-weight: var(--weight-semibold);
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -493,27 +493,26 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.result-card.success {
|
.result-card.success {
|
||||||
border-left: 3px solid var(--color-success);
|
border-left: 4px solid var(--color-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-card.failed {
|
.result-card.failed {
|
||||||
border-left: 3px solid var(--lora-error);
|
border-left: 4px solid var(--color-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-card.skipped {
|
.result-card.skipped {
|
||||||
border-left: 3px solid var(--lora-warning);
|
border-left: 4px solid var(--color-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-label {
|
.result-label {
|
||||||
font-size: 0.8em;
|
font-size: var(--text-xs);
|
||||||
color: var(--text-color);
|
color: var(--text-secondary);
|
||||||
opacity: 0.7;
|
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-value {
|
.result-value {
|
||||||
font-size: 1.4em;
|
font-size: var(--text-lg);
|
||||||
font-weight: 600;
|
font-weight: var(--weight-semibold);
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -527,13 +526,13 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 8px;
|
gap: var(--space-2);
|
||||||
padding: 10px;
|
padding: var(--space-2);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: var(--lora-accent);
|
color: var(--lora-accent);
|
||||||
font-weight: 500;
|
font-weight: var(--weight-medium);
|
||||||
border-radius: var(--border-radius-xs);
|
border-radius: var(--border-radius-xs);
|
||||||
transition: background 0.2s;
|
transition: background var(--transition-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
.details-toggle:hover {
|
.details-toggle:hover {
|
||||||
@@ -541,7 +540,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.details-toggle i {
|
.details-toggle i {
|
||||||
transition: transform 0.2s;
|
transition: transform var(--transition-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
.details-toggle.expanded i {
|
.details-toggle.expanded i {
|
||||||
@@ -561,10 +560,10 @@
|
|||||||
.result-item {
|
.result-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: var(--space-2);
|
||||||
padding: 10px 12px;
|
padding: var(--space-2) var(--space-3);
|
||||||
border-bottom: 1px solid var(--border-color);
|
border-bottom: 1px solid var(--border-color);
|
||||||
font-size: 0.9em;
|
font-size: var(--text-sm);
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-item:last-child {
|
.result-item:last-child {
|
||||||
@@ -572,28 +571,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.result-item-status {
|
.result-item-status {
|
||||||
width: 24px;
|
|
||||||
height: 24px;
|
|
||||||
border-radius: 50%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 0.8em;
|
font-size: var(--text-sm);
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-item-status.success {
|
.result-item-status.success {
|
||||||
background: color-mix(in oklch, var(--color-success) 20%, transparent);
|
|
||||||
color: var(--color-success);
|
color: var(--color-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-item-status.failed {
|
.result-item-status.failed {
|
||||||
background: oklch(from var(--lora-error) l c h / 0.2);
|
color: var(--color-error);
|
||||||
color: var(--lora-error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-item-status.skipped {
|
.result-item-status.skipped {
|
||||||
background: oklch(from var(--lora-warning) l c h / 0.2);
|
color: var(--color-warning);
|
||||||
color: var(--lora-warning);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.result-item-info {
|
.result-item-info {
|
||||||
@@ -610,8 +604,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.result-item-error {
|
.result-item-error {
|
||||||
font-size: 0.8em;
|
font-size: var(--text-xs);
|
||||||
color: var(--lora-error);
|
color: var(--color-error);
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,6 @@
|
|||||||
min-width: 130px;
|
min-width: 130px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-card > i {
|
|
||||||
font-size: 1.25em;
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-body {
|
.stat-card-body {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -52,40 +47,20 @@
|
|||||||
border-left-color: var(--color-success);
|
border-left-color: var(--color-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-card-success > i {
|
|
||||||
color: var(--color-success);
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-failure {
|
.stat-card-failure {
|
||||||
border-left-color: var(--color-error);
|
border-left-color: var(--color-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-card-failure > i {
|
|
||||||
color: var(--color-error);
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-skipped {
|
.stat-card-skipped {
|
||||||
border-left-color: var(--color-warning);
|
border-left-color: var(--color-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-card-skipped > i {
|
|
||||||
color: var(--color-warning);
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-total {
|
.stat-card-total {
|
||||||
border-left-color: var(--color-info);
|
border-left-color: var(--lora-border);
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-total > i {
|
|
||||||
color: var(--color-info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.stat-card-time {
|
.stat-card-time {
|
||||||
border-left-color: var(--color-accent);
|
border-left-color: var(--lora-border);
|
||||||
}
|
|
||||||
|
|
||||||
.stat-card-time > i {
|
|
||||||
color: var(--color-accent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.refresh-failures-section {
|
.refresh-failures-section {
|
||||||
@@ -122,7 +97,7 @@
|
|||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
background: var(--lora-surface);
|
background: var(--lora-surface);
|
||||||
border-bottom: 2px solid var(--lora-border);
|
border-bottom: 1px solid var(--lora-border);
|
||||||
padding: var(--space-1) var(--space-2);
|
padding: var(--space-1) var(--space-2);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: var(--weight-semibold);
|
font-weight: var(--weight-semibold);
|
||||||
|
|||||||
@@ -679,39 +679,34 @@ export class BaseModelApiClient {
|
|||||||
<div class="modal-content metadata-refresh-result-modal">
|
<div class="modal-content metadata-refresh-result-modal">
|
||||||
<button class="close" data-action="close-modal">×</button>
|
<button class="close" data-action="close-modal">×</button>
|
||||||
|
|
||||||
<h2><i class="fas fa-sync-alt"></i> ${translate('modals.metadataFetchSummary.title', {}, 'Metadata Fetch Summary')}</h2>
|
<h2>${translate('modals.metadataFetchSummary.title', {}, 'Metadata Fetch Summary')}</h2>
|
||||||
|
|
||||||
<div class="refresh-summary-stats">
|
<div class="refresh-summary-stats">
|
||||||
<div class="stat-card stat-card-success">
|
<div class="stat-card stat-card-success">
|
||||||
<i class="fas fa-check-circle"></i>
|
|
||||||
<div class="stat-card-body">
|
<div class="stat-card-body">
|
||||||
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statSuccess', {}, 'Success')}</span>
|
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statSuccess', {}, 'Success')}</span>
|
||||||
<span class="stat-card-value">${success}</span>
|
<span class="stat-card-value">${success}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stat-card stat-card-failure">
|
<div class="stat-card stat-card-failure">
|
||||||
<i class="fas fa-times-circle"></i>
|
|
||||||
<div class="stat-card-body">
|
<div class="stat-card-body">
|
||||||
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statFailed', {}, 'Failed')}</span>
|
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statFailed', {}, 'Failed')}</span>
|
||||||
<span class="stat-card-value">${failure_count}</span>
|
<span class="stat-card-value">${failure_count}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stat-card stat-card-skipped">
|
<div class="stat-card stat-card-skipped">
|
||||||
<i class="fas fa-forward"></i>
|
|
||||||
<div class="stat-card-body">
|
<div class="stat-card-body">
|
||||||
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statSkipped', {}, 'Skipped')}</span>
|
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statSkipped', {}, 'Skipped')}</span>
|
||||||
<span class="stat-card-value">${skipped_count}</span>
|
<span class="stat-card-value">${skipped_count}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stat-card stat-card-total">
|
<div class="stat-card stat-card-total">
|
||||||
<i class="fas fa-database"></i>
|
|
||||||
<div class="stat-card-body">
|
<div class="stat-card-body">
|
||||||
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statTotal', {}, 'Total Scanned')}</span>
|
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statTotal', {}, 'Total Scanned')}</span>
|
||||||
<span class="stat-card-value">${total || processed}</span>
|
<span class="stat-card-value">${total || processed}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stat-card stat-card-time">
|
<div class="stat-card stat-card-time">
|
||||||
<i class="fas fa-clock"></i>
|
|
||||||
<div class="stat-card-body">
|
<div class="stat-card-body">
|
||||||
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statDuration', {}, 'Duration')}</span>
|
<span class="stat-card-label">${translate('modals.metadataFetchSummary.statDuration', {}, 'Duration')}</span>
|
||||||
<span class="stat-card-value">${elapsed_seconds}s</span>
|
<span class="stat-card-value">${elapsed_seconds}s</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user