feat: implement full breadcrumb path navigation in Files tab
- Add breadcrumbPath array to app state for tracking folder hierarchy - Rewrite updateBreadcrumb() to render full path: Home > folder > subfolder - Each breadcrumb segment is clickable to navigate back to that level - Current folder shown in bold (non-clickable), parent folders as links - Reset breadcrumb path on tab switch, home navigation, and initial load - Update navigateFolder/selectFolder to push to breadcrumb path - Enhanced breadcrumb CSS with hover effects and dark mode support
This commit is contained in:
+1
-126
@@ -1,126 +1 @@
|
||||
/* Styles for the favorites feature */
|
||||
|
||||
/* Favorite indicator */
|
||||
.favorite-indicator {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
color: #ccc;
|
||||
cursor: pointer;
|
||||
z-index: 5;
|
||||
transition: all 0.2s ease;
|
||||
|
||||
[dir='rtl'] & {
|
||||
left: 10px;
|
||||
right: unset;
|
||||
}
|
||||
}
|
||||
|
||||
.favorite-indicator:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.favorite-indicator.active {
|
||||
color: #ffc107;
|
||||
text-shadow: 0 0 5px rgba(255, 193, 7, 0.5);
|
||||
}
|
||||
|
||||
/* Styles for the favorites view items */
|
||||
.favorite-item {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Adjustments for grid view */
|
||||
.file-card.favorite-item {
|
||||
border-left: 3px solid #ffc107;
|
||||
|
||||
[dir='rtl'] & {
|
||||
border-right: 3px solid #ffc107;
|
||||
border-left: unset;
|
||||
}
|
||||
}
|
||||
|
||||
/* Adjustments for list view */
|
||||
.list-header.favorites-header {
|
||||
grid-template-columns: 30px minmax(200px, 2fr) 1fr 1fr 120px;
|
||||
}
|
||||
|
||||
.file-item.favorite-item {
|
||||
position: relative;
|
||||
grid-template-columns: 30px minmax(200px, 2fr) 1fr 1fr 120px;
|
||||
}
|
||||
|
||||
.file-item.favorite-item .favorite-indicator {
|
||||
position: relative;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
/* Styles for the favorites-specific empty state */
|
||||
.favorites-empty-state {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 50px 20px;
|
||||
text-align: center;
|
||||
color: #6c757d;
|
||||
}
|
||||
|
||||
.favorites-empty-state i {
|
||||
font-size: 48px;
|
||||
color: #ffc107;
|
||||
margin-bottom: 20px;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.favorites-empty-state p {
|
||||
margin-bottom: 10px;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
/* Animation for the favorite star */
|
||||
@keyframes favorite-pulse {
|
||||
0% { transform: scale(1); }
|
||||
50% { transform: scale(1.2); }
|
||||
100% { transform: scale(1); }
|
||||
}
|
||||
|
||||
.favorite-indicator.active {
|
||||
animation: favorite-pulse 0.3s ease;
|
||||
}
|
||||
|
||||
/* ── Star badge on file/folder cards (normal view) ── */
|
||||
|
||||
/* Grid view: keep interactive star button behavior from style.css */
|
||||
.file-card .favorite-star {
|
||||
pointer-events: auto;
|
||||
z-index: 12;
|
||||
}
|
||||
|
||||
.file-card .favorite-star.active i,
|
||||
.file-card .favorite-star.active svg {
|
||||
animation: favorite-pulse 0.3s ease;
|
||||
}
|
||||
|
||||
/* List view: small star next to the name */
|
||||
.favorite-star-inline {
|
||||
color: #ffc107;
|
||||
font-size: 11px;
|
||||
margin-left: 6px;
|
||||
vertical-align: middle;
|
||||
filter: drop-shadow(0 0 1px rgba(255, 193, 7, 0.4));
|
||||
|
||||
[dir='rtl'] & {
|
||||
margin-left: 0;
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
@import url("./views/favorites.css");
|
||||
|
||||
Reference in New Issue
Block a user