fix(ui): prevent search input from clearing on each keystroke and add dedicated /search page

The debounceSearch() function in files.html called clearFullTextSearch()
when the query was shorter than 2 characters. Since clearFullTextSearch()
sets input.value = '', every single keystroke was immediately erased —
users could paste text but not type.

Fix: debounceSearch now only hides the results panel for short queries
without touching the input value.

Also adds a dedicated /search page with Google-style results showing
content previews (document title, filename, type badges, tag badges,
sender, and OCR text snippets with highlighted matches).

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-26 09:18:28 +00:00
parent 04da7ae804
commit 09a6337c6f
6 changed files with 328 additions and 1 deletions
+2
View File
@@ -9,6 +9,7 @@ from app.views.filemanager import router as filemanager_router
# Import all the view routers
from app.views.general import router as general_router
from app.views.search import router as search_router
from app.views.google_drive import router as google_drive_router
from app.views.license_routes import router as license_router # Add the license router
from app.views.onedrive import router as onedrive_router
@@ -27,3 +28,4 @@ router.include_router(google_drive_router)
router.include_router(license_router) # Include the license router
router.include_router(settings_router)
router.include_router(filemanager_router)
router.include_router(search_router)