Add Play All, home navigation, and UI improvements

- Add Play All button with M3U playlist generation (local temp file with absolute paths)
- Replace folder combobox with root folder cards and home icon breadcrumb
- Fix compact grid card sizing (64x64 thumbnails, align-items: start)
- Add loading spinner when browsing folders
- Cache browse items to avoid re-fetching on view mode switch
- Remove unused browser-controls CSS
- Add localization keys for Play All and Home (en/ru)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-09 01:57:32 +03:00
parent e16674c658
commit f275240e59
6 changed files with 277 additions and 72 deletions

View File

@@ -1130,31 +1130,6 @@
margin: 0;
}
.browser-controls {
margin-bottom: 1rem;
}
.browser-controls select {
width: 100%;
padding: 0.75rem;
background: var(--bg-tertiary);
border: 1px solid var(--border);
border-radius: 6px;
color: var(--text-primary);
font-size: 0.875rem;
cursor: pointer;
transition: all 0.3s;
}
.browser-controls select:hover {
border-color: var(--accent);
}
.browser-controls select:focus {
outline: none;
border-color: var(--accent);
}
/* Breadcrumb Navigation */
.breadcrumb {
display: flex;
@@ -1184,6 +1159,15 @@
text-decoration: underline;
}
.breadcrumb-home {
display: flex;
align-items: center;
}
.breadcrumb-home:hover {
text-decoration: none;
}
.breadcrumb-separator {
color: var(--text-muted);
margin: 0 0.25rem;
@@ -1243,6 +1227,29 @@
fill: currentColor;
}
.browser-play-all-btn {
display: flex;
align-items: center;
gap: 0.35rem;
padding: 0.35rem 0.7rem;
background: var(--accent);
border: none;
border-radius: 6px;
color: #fff;
font-size: 0.75rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
width: auto;
height: auto;
margin-left: 0.5rem;
}
.browser-play-all-btn:hover {
background: var(--accent-hover);
transform: none;
}
.items-per-page-label {
display: flex;
align-items: center;
@@ -1272,6 +1279,7 @@
gap: 1rem;
margin-bottom: 1.5rem;
min-height: 200px;
align-items: start;
}
/* Compact Grid */
@@ -1432,6 +1440,18 @@
text-align: right;
}
.browser-loading {
grid-column: 1 / -1;
display: flex;
justify-content: center;
padding: 3rem;
}
.browser-loading .loading-spinner {
width: 28px;
height: 28px;
}
.browser-empty {
grid-column: 1 / -1;
text-align: center;
@@ -1620,9 +1640,8 @@
/* Compact grid overrides */
.browser-grid-compact .browser-thumb-wrapper {
width: 100%;
height: auto;
aspect-ratio: 1;
width: 64px;
height: 64px;
}
.browser-grid-compact .browser-play-overlay svg {