Add primary display indicator, custom accent color picker, restart script

- Detect primary monitor via Windows EnumDisplayMonitors API and show badge
- Expand accent color picker with 9 presets and custom color input
- Auto-generate hover color for custom accent colors
- Re-render accent swatches on locale change for proper i18n
- Replace restart-server.bat with PowerShell restart-server.ps1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 16:18:18 +03:00
parent adf2d936da
commit 397d38ac12
7 changed files with 198 additions and 33 deletions

View File

@@ -303,12 +303,12 @@ h1 {
top: calc(100% + 4px);
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: 8px;
padding: 8px;
border-radius: 12px;
padding: 10px;
gap: 6px;
z-index: 100;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
grid-template-columns: repeat(3, 24px);
grid-template-columns: repeat(3, 28px);
}
.accent-picker-dropdown.open {
@@ -316,8 +316,8 @@ h1 {
}
.accent-swatch {
width: 24px;
height: 24px;
width: 28px;
height: 28px;
border-radius: 50%;
border: 2px solid transparent;
cursor: pointer;
@@ -325,13 +325,57 @@ h1 {
}
.accent-swatch:hover {
transform: scale(1.2);
transform: scale(1.15);
}
.accent-swatch.active {
border-color: var(--text-primary);
}
.accent-custom-row {
grid-column: 1 / -1;
display: flex;
align-items: center;
gap: 8px;
padding: 6px 2px 2px;
margin-top: 4px;
border-top: 1px solid var(--border);
cursor: pointer;
border-radius: 4px;
}
.accent-custom-row:hover .accent-custom-label {
color: var(--text-primary);
}
.accent-custom-row.active .accent-custom-swatch {
outline: 2px solid var(--text-primary);
outline-offset: 1px;
}
.accent-custom-swatch {
width: 20px;
height: 20px;
border-radius: 4px;
flex-shrink: 0;
}
.accent-custom-label {
font-size: 0.75rem;
color: var(--text-muted);
transition: color 0.15s;
}
.accent-custom-row input[type="color"] {
width: 0;
height: 0;
padding: 0;
border: none;
opacity: 0;
position: absolute;
pointer-events: none;
}
#locale-select {
background: var(--bg-tertiary);
border: 1px solid var(--border);
@@ -1115,6 +1159,20 @@ button:disabled {
white-space: nowrap;
}
.display-primary-badge {
display: inline-block;
background: var(--accent);
color: #fff;
font-size: 0.625rem;
font-weight: 600;
padding: 1px 6px;
border-radius: 8px;
margin-left: 6px;
vertical-align: middle;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.display-monitor-details {
font-size: 0.75rem;
color: var(--text-muted);