v3: lots of small UI tweaks and fixes
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 46s

This commit is contained in:
khannurien
2026-04-11 08:35:16 +00:00
parent 362967472c
commit b822f861ed
22 changed files with 673 additions and 500 deletions

View File

@@ -1288,6 +1288,36 @@ body.has-player .fab-new {
gap: 1.5rem;
}
.profile-info {
position: relative;
min-width: 0;
}
.profile-info-scroll {
overflow-x: auto;
scrollbar-width: none;
padding-bottom: 0.25rem;
padding-right: 0.25rem;
}
.profile-info-scroll::-webkit-scrollbar {
display: none;
}
/* Fade hint only at narrow viewports where the info column can actually overflow */
@media (max-width: 600px) {
.profile-info::after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 2rem;
background: linear-gradient(to right, transparent, var(--color-bg));
pointer-events: none;
}
}
.profile-tabs-scroller {
margin-top: 0.5rem;
padding-bottom: 0.5rem;
@@ -1854,6 +1884,33 @@ body.has-player .fab-new {
.app-header-center {
display: flex;
}
.app-header-center .search-bar-btn {
display: none;
}
}
/* Below-header search row — small viewports only */
.header-search-below {
display: flex;
align-items: center;
padding: 0.5rem 1rem;
background: var(--color-surface);
border-bottom: 2px solid var(--color-border);
}
.header-search-below .search-bar {
flex: 1;
}
.header-search-below .search-bar-input {
max-width: 100%;
}
@media (min-width: 860px) {
.header-search-below {
display: none;
}
}
/* When the search bar is expanded, immediately clear the rest of the center —
@@ -1917,12 +1974,32 @@ body.has-player .fab-new {
.app-header-nav button {
padding: 0.35rem 0.85rem;
font-size: 0.95rem;
font-family: inherit;
line-height: inherit;
}
.app-header-nav .btn-primary {
padding: 0.35rem 1rem;
}
/* Ghost search button — always visible except when the center search bar is shown */
.nav-search-btn {
display: flex;
align-items: center;
padding: 0.35rem;
background: transparent;
border: none;
color: inherit;
text-decoration: none;
font-size: 1rem;
cursor: pointer;
border-radius: 6px;
}
.nav-search-btn:hover {
background: var(--color-surface);
}
/* Text links — visible only at wide viewports */
.nav-links {
display: none;
@@ -2204,6 +2281,7 @@ body.has-player .fab-new {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.25em;
white-space: nowrap;
cursor: pointer;
border-radius: 8px;
@@ -2360,7 +2438,7 @@ body.has-player .fab-new {
/* Right-edge gradient: absolutely positioned over the scroll container,
always at the viewport-right edge regardless of scroll position */
.feed-sort-scroller::after {
content: '';
content: "";
position: absolute;
top: 0;
right: 0;
@@ -2387,6 +2465,7 @@ body.has-player .fab-new {
overflow-x: auto;
scrollbar-width: none;
padding-bottom: 0.3rem;
padding-right: 0.25rem;
min-width: 0;
}
@@ -2525,7 +2604,6 @@ body.has-player .fab-new {
order: 0;
}
/* Left column: preview + vote stacked with fixed gap, independent of body height */
.dump-card-left {
display: flex;
@@ -3052,7 +3130,6 @@ body.has-player .fab-new {
opacity: 1;
}
.playlist-detail-content {
flex: 1;
min-width: 0;
@@ -3907,6 +3984,7 @@ body.has-player .fab-new {
border: none;
cursor: pointer;
font-size: 0.95rem;
font-weight: 600;
padding: 0.35rem 0.85rem;
border-radius: 8px;
transition: background 0.15s;
@@ -4398,12 +4476,9 @@ body.has-player .fab-new {
}
.search-tabs {
display: flex;
align-items: center;
gap: 0.4rem;
padding: 1rem 1.25rem 0;
width: 100%;
max-width: 860px;
padding: 1rem 1.25rem 0;
box-sizing: border-box;
}