Consolidate tabs, Quick Access links, mini player nav, link descriptions

- Merge Scripts/Callbacks/Links tabs into single Settings tab with collapsible sections
- Rename Actions tab to Quick Access showing both scripts and configured links
- Add prev/next buttons to mini (secondary) player
- Add optional description field to links (backend + frontend)
- Add CSS chevron indicators on collapsible settings sections
- Persist section collapse/expand state in localStorage
- Fix race condition in Quick Access rendering with generation counter
- Order settings sections: Scripts, Links, Callbacks

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 15:08:09 +03:00
parent 99dbbb1019
commit adf2d936da
7 changed files with 324 additions and 150 deletions

View File

@@ -42,6 +42,7 @@
:root[data-theme="light"] .browser-container,
:root[data-theme="light"] .scripts-container,
:root[data-theme="light"] .script-management,
:root[data-theme="light"] .settings-section,
:root[data-theme="light"] .display-container {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
@@ -979,6 +980,91 @@ button:disabled {
color: var(--text-primary);
}
/* Settings Container */
.settings-container.active {
display: flex;
flex-direction: column;
gap: 1rem;
}
.settings-section {
background: var(--bg-secondary);
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
overflow: hidden;
}
.settings-section summary {
padding: 1rem 1.5rem;
font-size: 1rem;
font-weight: 600;
color: var(--text-primary);
cursor: pointer;
user-select: none;
display: flex;
align-items: center;
gap: 0.5rem;
transition: background 0.2s;
list-style: none;
}
.settings-section summary::-webkit-details-marker {
display: none;
}
.settings-section summary::before {
content: '';
display: inline-block;
width: 0.5rem;
height: 0.5rem;
border-right: 2px solid var(--text-muted);
border-bottom: 2px solid var(--text-muted);
transform: rotate(-45deg);
transition: transform 0.2s;
flex-shrink: 0;
}
.settings-section[open] > summary::before {
transform: rotate(45deg);
}
.settings-section summary:hover {
background: var(--bg-tertiary);
}
.settings-section-content {
padding: 0 1.5rem 1.5rem;
overflow-x: auto;
}
.settings-section-description {
color: var(--text-secondary);
font-size: 0.875rem;
margin-bottom: 1rem;
}
/* Link card in Quick Access */
.link-card {
text-decoration: none;
color: var(--text-primary);
border: 1px dashed var(--border);
}
.link-card:hover {
border-style: solid;
}
/* Mini player nav buttons */
.mini-nav-btn {
width: 28px;
height: 28px;
}
.mini-nav-btn svg {
width: 16px;
height: 16px;
}
/* Display Control Section */
.display-container {
background: var(--bg-secondary);