Implement early access handling and UI enhancements for LoRA downloads

- Added error handling for early access restrictions in the API routes, returning appropriate status codes and messages.
- Enhanced the Civitai client to log unauthorized access attempts and provide user-friendly error messages.
- Updated the download manager to check for early access requirements and log warnings accordingly.
- Introduced UI elements to indicate early access status for LoRAs, including badges and warning messages in the import manager.
- Improved toast notifications to inform users about early access download failures and provide relevant information.
This commit is contained in:
Will Miao
2025-03-23 14:45:11 +08:00
parent 93329abe8b
commit c402f53258
12 changed files with 448 additions and 27 deletions

View File

@@ -207,6 +207,15 @@
border-left: 4px solid var(--lora-warning);
}
.lora-item.is-early-access {
background: rgba(0, 184, 122, 0.05);
border-left: 4px solid #00B87A;
}
.lora-item.missing-locally {
border-left: 4px solid var(--lora-error);
}
.lora-thumbnail {
width: 80px;
height: 80px;
@@ -297,6 +306,12 @@
border-bottom: none;
}
.missing-lora-item.is-early-access {
background: rgba(0, 184, 122, 0.05);
border-left: 3px solid #00B87A;
padding-left: 10px;
}
.missing-badge {
display: inline-flex;
align-items: center;
@@ -682,3 +697,39 @@
min-height: 20px; /* Ensure there's always space for the error message */
font-weight: 500;
}
.early-access-warning {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 12px 16px;
background: rgba(0, 184, 122, 0.1);
border: 1px solid #00B87A;
border-radius: var(--border-radius-sm);
color: var(--text-color);
margin-bottom: var(--space-2);
}
/* Add special styling for early access badge in the missing loras list */
.missing-lora-item .early-access-badge {
padding: 2px 6px;
font-size: 0.75em;
margin-top: 4px;
display: inline-flex;
}
/* Specific styling for the early access warning container in import modal */
.early-access-warning .warning-icon {
color: #00B87A;
font-size: 1.2em;
}
.early-access-warning .warning-title {
font-weight: 600;
margin-bottom: 4px;
}
.early-access-warning .warning-text {
font-size: 0.9em;
line-height: 1.4;
}