feat: Implement admin backup export and import functionality

- Added new endpoints for exporting and importing instance-level backups.
- Introduced user interface components for backup management in the web app.
- Enhanced import/export logic to handle attachments and provide detailed summaries.
- Updated localization files to include new strings related to backup features.
- Improved styling for backup-related UI elements.
This commit is contained in:
shuaiplus
2026-03-08 13:36:51 +08:00
parent 206b0be566
commit eeb477b84c
16 changed files with 1382 additions and 217 deletions
+53
View File
@@ -1178,6 +1178,35 @@ input[type='file'].input::file-selector-button:hover {
align-items: start;
}
.backup-panel {
min-height: 100%;
}
.backup-list {
margin: 12px 0 14px;
padding-left: 18px;
color: #475467;
line-height: 1.55;
}
.backup-list li + li {
margin-top: 6px;
}
.backup-file-meta {
margin: -2px 0 12px;
color: #64748b;
font-size: 13px;
line-height: 1.45;
word-break: break-word;
}
.backup-inline-note {
margin: 0 0 12px;
color: #64748b;
line-height: 1.5;
}
.import-export-panel h3 {
margin: 0 0 6px 0;
}
@@ -1532,6 +1561,30 @@ input[type='file'].input::file-selector-button:hover {
border-bottom: none;
}
.import-summary-failed-list {
margin-top: 10px;
padding: 10px 12px;
border: 1px solid #fecaca;
border-radius: 10px;
background: #fef2f2;
color: #991b1b;
font-size: 13px;
}
.import-summary-failed-title {
font-weight: 700;
margin-bottom: 6px;
}
.import-summary-failed-list ul {
margin: 0;
padding-left: 18px;
}
.import-summary-failed-list li + li {
margin-top: 4px;
}
.settings-twofactor-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));