Skip to content

Commit 17e7d5a

Browse files
committed
style: overhaul search view UI for premium material look
1 parent c3e27b1 commit 17e7d5a

File tree

3 files changed

+46
-24
lines changed

3 files changed

+46
-24
lines changed

whereisit/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ COPY frontend/package.json frontend/package-lock.json ./
66
RUN npm ci
77

88
# Force cache invalidation for source code
9-
ARG CACHEBUST=202602202245
9+
ARG CACHEBUST=202602202600
1010
RUN echo "Cache bust: $CACHEBUST"
1111

1212
COPY frontend/ ./

whereisit/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: "WhereIsIt"
2-
version: "0.4.25"
2+
version: "0.4.26"
33
slug: "whereisit"
44
description: "Physical storage management for Home Assistant"
55
url: "https://github.com/D3L05/whereisit"

whereisit/frontend/src/views/home-view.js

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,45 +17,63 @@ export class HomeView extends LitElement {
1717
}
1818
.search-container {
1919
padding: 16px;
20-
padding-bottom: 0;
20+
padding-bottom: 8px;
2121
}
2222
mwc-textfield {
2323
width: 100%;
24+
--mdc-shape-small: 8px; /* Slightly rounded corners */
2425
}
2526
.search-results {
26-
margin: 16px;
27-
margin-top: 0;
27+
margin: 8px 16px 16px 16px;
2828
background: white;
29-
border-radius: 8px;
30-
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
29+
border-radius: 12px;
30+
box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Premium soft shadow */
3131
overflow: hidden;
32+
border: 1px solid rgba(0,0,0,0.05);
3233
}
3334
.category-chips {
3435
display: flex;
35-
gap: 8px;
36+
gap: 10px;
3637
overflow-x: auto;
37-
padding: 0 16px 16px 16px;
38+
padding: 4px 16px 16px 16px;
39+
scrollbar-width: none; /* Hide scrollbar for cleaner look */
40+
}
41+
.category-chips::-webkit-scrollbar {
42+
display: none;
3843
}
3944
.chip {
40-
background: #e0e0e0;
41-
border: none;
42-
border-radius: 16px;
43-
padding: 6px 12px;
45+
background: #f0f2f5; /* Light grey modern background */
46+
border: 1px solid transparent;
47+
border-radius: 20px;
48+
padding: 8px 16px;
4449
font-size: 0.875rem;
50+
font-weight: 500;
51+
color: #444;
4552
cursor: pointer;
4653
white-space: nowrap;
4754
font-family: Roboto, sans-serif;
55+
transition: all 0.2s ease;
56+
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
57+
}
58+
.chip:hover {
59+
background: #e4e6e9;
60+
transform: translateY(-1px);
61+
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
4862
}
4963
.chip.selected {
50-
background: var(--mdc-theme-primary, #6200ee);
64+
background: var(--mdc-theme-primary, #03a9f4);
5165
color: white;
66+
box-shadow: 0 2px 6px rgba(3, 169, 244, 0.4);
5267
}
5368
.search-section-title {
54-
padding: 12px 16px 4px 16px;
55-
font-size: 0.8em;
56-
color: gray;
69+
padding: 16px 16px 8px 16px;
70+
font-size: 0.75rem;
71+
font-weight: 700;
72+
color: var(--mdc-theme-primary, #03a9f4);
5773
text-transform: uppercase;
58-
letter-spacing: 1px;
74+
letter-spacing: 1.2px;
75+
background: #fafafa;
76+
border-bottom: 1px solid #eee;
5977
}
6078
.unit-grid {
6179
display: grid;
@@ -197,29 +215,33 @@ export class HomeView extends LitElement {
197215
${this.searchResults.boxes.length > 0 ? html`
198216
<div class="search-section-title">Boxes</div>
199217
${this.searchResults.boxes.map(box => html`
200-
<mwc-list-item twoline graphic="icon" @click=${() => this._navigateToBox(box.id)}>
218+
<mwc-list-item twoline graphic="icon" @click=${() => this._navigateToBox(box.id)} style="margin: 4px 8px; border-radius: 8px; overflow: hidden; --mdc-list-item-graphic-margin: 16px;">
201219
<span>${box.name}</span>
202220
<span slot="secondary">${box.items ? box.items.length : 0} items ${box.description ? `• ${box.description}` : ''}</span>
203-
<mwc-icon slot="graphic">inventory_2</mwc-icon>
221+
<mwc-icon slot="graphic" style="color: var(--mdc-theme-primary, #03a9f4); font-size: 32px; background: #e3f2fd; border-radius: 8px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;">inventory_2</mwc-icon>
204222
</mwc-list-item>
205223
`)}
206224
` : ''}
207225
208226
${this.searchResults.items.length > 0 ? html`
209227
<div class="search-section-title">Items</div>
210228
${this.searchResults.items.map(item => html`
211-
<mwc-list-item twoline graphic="medium" @click=${(e) => this._openItemDetail(e, item)}>
229+
<mwc-list-item twoline graphic="medium" @click=${(e) => this._openItemDetail(e, item)} style="margin: 4px 8px; border-radius: 8px; overflow: hidden; --mdc-list-item-graphic-margin: 16px;">
212230
<span>${item.name}</span>
213231
<span slot="secondary">In Box: ${item.box ? item.box.name : 'Unknown'} • Qty: ${item.quantity} ${item.category ? `• [${item.category}]` : ''}</span>
214232
${item.photo_path
215-
? html`<img slot="graphic" src="${window.AppRouter ? window.AppRouter.urlForPath(item.photo_path) : item.photo_path}" style="width: 56px; height: 56px; object-fit: cover; border-radius: 4px;" />`
216-
: html`<mwc-icon slot="graphic">category</mwc-icon>`}
233+
? html`<img slot="graphic" src="${window.AppRouter ? window.AppRouter.urlForPath(item.photo_path) : item.photo_path}" style="width: 48px; height: 48px; object-fit: cover; border-radius: 8px; border: 1px solid #eee; box-shadow: 0 1px 3px rgba(0,0,0,0.1);" />`
234+
: html`<mwc-icon slot="graphic" style="color: gray; font-size: 32px; background: #f5f5f5; border-radius: 8px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;">category</mwc-icon>`}
217235
</mwc-list-item>
218236
`)}
219237
` : ''}
220238
221239
${(this.searchResults.boxes.length === 0 && this.searchResults.items.length === 0) ? html`
222-
<mwc-list-item noninteractive>No results found for "${this.searchQuery}"</mwc-list-item>
240+
<div style="padding: 32px 16px; text-align: center; color: #757575; display: flex; flex-direction: column; align-items: center;">
241+
<mwc-icon style="font-size: 48px; color: #e0e0e0; margin-bottom: 8px;">search_off</mwc-icon>
242+
<div style="font-size: 1rem; font-weight: 500; color: #424242;">No results found</div>
243+
<div style="font-size: 0.875rem; margin-top: 4px;">Try adjusting your search query or category filter</div>
244+
</div>
223245
` : ''}
224246
</mwc-list>
225247
</div>

0 commit comments

Comments
 (0)