added visual indicator of search results

This commit is contained in:
2026-02-22 14:13:35 -05:00
parent 9cb1c6674a
commit d3b04a9c29
3 changed files with 79 additions and 0 deletions
@@ -331,6 +331,24 @@ export class CoverGrid extends LitElement {
color: var(--yj-text-secondary, #b3b3b3); color: var(--yj-text-secondary, #b3b3b3);
} }
.search-indicator {
position: absolute;
top: 8px;
left: 50%;
transform: translateX(-50%);
z-index: 5;
pointer-events: none;
background: var(--yj-bg-overlay, #495057);
color: var(--yj-text-secondary, #b3b3b3);
font-size: 12px;
padding: 4px 14px;
border-radius: 12px;
border: 1px solid
var(--yj-border-subtle, #555);
white-space: nowrap;
opacity: 0.92;
}
.empty-state { .empty-state {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -2916,6 +2934,12 @@ export class CoverGrid extends LitElement {
: this.renderSingleGrid(); : this.renderSingleGrid();
return html` return html`
${this.searchCtrl.term
? html`<div class="search-indicator">
Showing results for
&ldquo;${this.searchCtrl.term}&rdquo;
</div>`
: nothing}
<div <div
class="grid-scroll-container" class="grid-scroll-container"
@click=${this.onGridClick} @click=${this.onGridClick}
@@ -314,6 +314,7 @@ export class PlaylistView
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
position: relative;
} }
.header { .header {
@@ -596,6 +597,27 @@ export class PlaylistView
color: var(--yj-text-secondary, #b3b3b3); color: var(--yj-text-secondary, #b3b3b3);
} }
.search-indicator {
position: absolute;
top: 8px;
left: 50%;
transform: translateX(-50%);
z-index: 5;
pointer-events: none;
background: var(--yj-bg-overlay, #495057);
color: var(
--yj-text-secondary,
#b3b3b3
);
font-size: 12px;
padding: 4px 14px;
border-radius: 12px;
border: 1px solid
var(--yj-border-subtle, #555);
white-space: nowrap;
opacity: 0.92;
}
.empty-state { .empty-state {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -1721,6 +1743,15 @@ export class PlaylistView
</div> </div>
</div> </div>
${this.searchCtrl.term &&
this.filteredEntries.length > 0
? html`<div class="search-indicator">
Showing results for
&ldquo;${this.searchCtrl
.term}&rdquo;
</div>`
: nothing}
${this.creating ${this.creating
? this.renderCreateForm() ? this.renderCreateForm()
: nothing} : nothing}
@@ -521,6 +521,23 @@ export class TrackList extends LitElement implements SelectionHost {
background-color: var(--yj-text-tertiary, #6c757d); background-color: var(--yj-text-tertiary, #6c757d);
} }
.search-indicator {
position: absolute;
top: 8px;
left: 50%;
transform: translateX(-50%);
z-index: 5;
pointer-events: none;
background: var(--yj-bg-overlay, #495057);
color: var(--yj-text-secondary, #b3b3b3);
font-size: 12px;
padding: 4px 14px;
border-radius: 12px;
border: 1px solid var(--yj-border-subtle, #555);
white-space: nowrap;
opacity: 0.92;
}
.no-results { .no-results {
padding: 24px 16px; padding: 24px 16px;
color: var(--yj-text-secondary, #b3b3b3); color: var(--yj-text-secondary, #b3b3b3);
@@ -1028,6 +1045,13 @@ export class TrackList extends LitElement implements SelectionHost {
`} `}
`} `}
${this.searchCtrl.term && visibleTracks.length > 0
? html`<div class="search-indicator">
Showing results for
&ldquo;${this.searchCtrl.term}&rdquo;
</div>`
: nothing}
<div class="resize-overlay"> <div class="resize-overlay">
${this.colBoundaryPositions.map( ${this.colBoundaryPositions.map(
(pos, i) => html` (pos, i) => html`