diff --git a/.claude/plans/reflective-meandering-castle.md b/.claude/plans/reflective-meandering-castle.md index 24e65b80..f078efd8 100644 --- a/.claude/plans/reflective-meandering-castle.md +++ b/.claude/plans/reflective-meandering-castle.md @@ -79,7 +79,7 @@ After getting Claude Max OAuth working on the live server, hardening the deploy - **Change**: Compare `get_app_config()` port mappings with nginx proxies. Add missing nginx proxies for: Grafana (3000), Jellyfin (8096), Uptime Kuma (3001), Portainer (9000), OnlyOffice (9980). Add to both HTTP and HTTPS blocks. Verify `extract_lan_address()` correctness. - **Verify**: Each app launches correctly from Apps page -### Task 14: Local search within Apps view +### Task 14: Local search within Apps view [DONE] - **Files**: `neode-ui/src/views/Apps.vue` - **Change**: Add search input with `ref('')`. Filter `sortedPackageEntries` by query against `manifest.title` and `manifest.description.short`. Style like Marketplace search. - **Verify**: Type in search — only matching apps shown diff --git a/neode-ui/src/views/Apps.vue b/neode-ui/src/views/Apps.vue index 3032e236..3caada3c 100644 --- a/neode-ui/src/views/Apps.vue +++ b/neode-ui/src/views/Apps.vue @@ -5,6 +5,16 @@
Manage your installed applications
+ +No apps matching "{{ searchQuery }}"
+