Redesign header as pill-shaped toolbar group

- Unified header-toolbar container with border and rounded corners
- Consistent header-btn styling for all action buttons
- Compact locale select, separator before logout icon
- Header links integrate as part of the toolbar with divider

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 00:01:55 +03:00
parent 3d01d98da0
commit b11edc25b9
2 changed files with 86 additions and 90 deletions

View File

@@ -182,51 +182,105 @@ h1 {
background: var(--accent);
}
.theme-toggle {
background: transparent;
border: none;
padding: 0.3rem;
cursor: pointer;
.header-toolbar {
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.3s;
width: 32px;
height: 32px;
opacity: 0.7;
gap: 2px;
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: 8px;
padding: 3px 4px;
}
.theme-toggle:hover {
opacity: 1;
.header-toolbar-sep {
width: 1px;
height: 18px;
background: var(--border);
margin: 0 3px;
flex-shrink: 0;
}
.theme-toggle svg {
.header-btn {
background: transparent;
border: none;
padding: 4px 6px;
border-radius: 5px;
cursor: pointer;
color: var(--text-secondary);
transition: color 0.2s, background 0.2s;
display: inline-flex;
align-items: center;
line-height: 1;
}
.header-btn:hover {
color: var(--text-primary);
background: var(--bg-tertiary);
}
.header-btn svg {
width: 16px;
height: 16px;
fill: currentColor;
}
.header-btn-logout:hover {
color: var(--error);
}
.header-locale {
background: transparent;
border: none;
color: var(--text-secondary);
font-size: 0.75rem;
font-weight: 600;
padding: 4px 4px 4px 8px;
border-radius: 5px;
cursor: pointer;
transition: color 0.2s, background 0.2s;
}
.header-locale:hover {
color: var(--text-primary);
background: var(--bg-tertiary);
}
.header-locale:focus {
outline: none;
}
.header-locale option {
background: var(--bg-secondary);
color: var(--text-primary);
}
/* Header Quick Links */
.header-links {
display: flex;
align-items: center;
gap: 0.125rem;
gap: 2px;
}
.header-links:not(:empty) {
padding-right: 3px;
margin-right: 3px;
border-right: 1px solid var(--border);
}
.header-link {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
color: var(--text-primary);
opacity: 0.7;
transition: opacity 0.2s;
padding: 4px 6px;
border-radius: 5px;
color: var(--text-secondary);
transition: color 0.2s, background 0.2s;
text-decoration: none;
}
.header-link:hover {
opacity: 1;
color: var(--text-primary);
background: var(--bg-tertiary);
}
.header-link svg {
@@ -271,25 +325,9 @@ h1 {
position: relative;
}
.accent-picker-btn {
background: transparent;
border: none;
cursor: pointer;
padding: 4px;
display: flex;
align-items: center;
opacity: 0.8;
transition: opacity 0.2s;
}
.accent-picker-btn:hover {
opacity: 1;
transform: none;
}
.accent-dot {
width: 16px;
height: 16px;
width: 14px;
height: 14px;
border-radius: 50%;
background: var(--accent);
border: 2px solid var(--border);
@@ -376,31 +414,6 @@ h1 {
pointer-events: none;
}
#locale-select {
background: var(--bg-tertiary);
border: 1px solid var(--border);
color: var(--text-primary);
border-radius: 6px;
padding: 4px 8px;
cursor: pointer;
font-size: 12px;
font-weight: 500;
transition: all 0.3s ease;
}
#locale-select:hover {
border-color: var(--accent);
}
#locale-select:focus {
outline: none;
border-color: var(--accent);
}
#locale-select option {
background: var(--bg-secondary);
color: var(--text-primary);
}
/* Tab Bar */
.tab-bar {
@@ -1922,26 +1935,6 @@ dialog::backdrop {
display: block;
}
.clear-token-btn {
width: auto;
height: auto;
padding: 4px 10px;
border-radius: 6px;
font-size: 12px;
font-weight: 500;
background: var(--bg-tertiary);
color: var(--text-secondary);
border: 1px solid var(--border);
cursor: pointer;
opacity: 0.7;
}
.clear-token-btn:hover {
opacity: 1;
background: var(--error);
color: var(--text-primary);
border-color: var(--error);
}
/* Mini Player (Sticky) */
.mini-player {