Tablet Scanner & Product Finder
-Scan product barcode, search display, or add manually
-Manager
+Scan barcode, search product, or add manually
diff --git a/public/app.js b/public/app.js index 9f05cb9..aec0642 100644 --- a/public/app.js +++ b/public/app.js @@ -92,9 +92,9 @@ function setRoute(path) { stockBtn.className = inactiveClass; managePage.classList.remove('hidden'); stockPage.classList.add('hidden'); - subTitle.textContent = 'Tablet Station'; + subTitle.textContent = 'Manager'; resetTabletManageStation(); - renderTabletProductPicker(); + renderTabletProductPicker(''); } initLucide(); @@ -145,7 +145,8 @@ async function loadItems() { if (state.currentRoute === '/') { renderStockView(); } else { - renderTabletProductPicker(); + const query = document.getElementById('tablet-search-input')?.value || ''; + renderTabletProductPicker(query); } } } catch (err) { @@ -307,7 +308,8 @@ function renderStockView() { } // ---------------------------------------------------- -// ROUTE 2: /manage (TABLET STATION WORKFLOW) +// ---------------------------------------------------- +// ROUTE 2: /manage (MANAGER WORKFLOW) // ---------------------------------------------------- function resetTabletManageStation() { @@ -315,7 +317,12 @@ function resetTabletManageStation() { state.manage.action = null; document.getElementById('tablet-step-select').classList.remove('hidden'); document.getElementById('tablet-step-action').classList.add('hidden'); - document.getElementById('tablet-search-input').value = ''; + const searchInput = document.getElementById('tablet-search-input'); + if (searchInput) searchInput.value = ''; + const resultsContainer = document.getElementById('tablet-search-results-container'); + if (resultsContainer) resultsContainer.classList.add('hidden'); + const picker = document.getElementById('tablet-product-picker'); + if (picker) picker.innerHTML = ''; } function handleTabletSearch(val) { @@ -331,27 +338,37 @@ function handleTabletSearch(val) { } function renderTabletProductPicker(filterQuery = '') { - const container = document.getElementById('tablet-product-picker'); - if (!container) return; + const picker = document.getElementById('tablet-product-picker'); + const resultsContainer = document.getElementById('tablet-search-results-container'); + if (!picker || !resultsContainer) return; const query = filterQuery.toLowerCase().trim(); + + // Only display search results if user has entered a search query + if (!query) { + resultsContainer.classList.add('hidden'); + picker.innerHTML = ''; + return; + } + + resultsContainer.classList.remove('hidden'); + const matched = state.items.filter(i => { - if (!query) return true; return (i.name && i.name.toLowerCase().includes(query)) || (i.brand && i.brand.toLowerCase().includes(query)) || (i.barcode && i.barcode.includes(query)); }); if (matched.length === 0) { - container.innerHTML = ` -
Use the tablet manage station to scan or add items.
+Use Manager to scan or add items.
@@ -160,28 +160,25 @@ - +Scan product barcode, search display, or add manually
-Scan barcode, search product, or add manually