feat: Implement collection deletion and loading spinners

- Add API endpoint and handler to delete collections
- Introduce LoadingSpinner component for async operations
- Show loading spinners during file loading and preview rendering
- Enhance modal accessibility by removing aria-hidden attribute
- Refactor delete functionality to distinguish between collections and files/folders
- Remove unused collection definitions from config
This commit is contained in:
Mahmoud-Emad
2025-10-27 11:32:20 +03:00
parent afcd074913
commit 3961628b3d
15 changed files with 557 additions and 32 deletions

View File

@@ -388,4 +388,66 @@ body.dark-mode #darkModeBtn i {
#darkModeBtn:hover i {
color: inherit;
/* Inherit hover color from parent */
}
/* ===================================
Loading Spinner Component
=================================== */
/* Loading overlay - covers the target container */
.loading-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--bg-primary);
opacity: 0.95;
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
transition: opacity 0.2s ease;
}
/* Loading spinner */
.loading-spinner {
width: 48px;
height: 48px;
border: 4px solid var(--border-color);
border-top-color: var(--primary-color);
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
/* Spinner animation */
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Loading text */
.loading-text {
margin-top: 16px;
color: var(--text-secondary);
font-size: 14px;
text-align: center;
}
/* Loading container with spinner and text */
.loading-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}
/* Hide loading overlay by default */
.loading-overlay.hidden {
display: none;
}
.language-bash {
color: var(--text-primary) !important;
}