feat: el buscador de Proyectos y Actividades tambien busca en tareas

Buscador de Proyectos: ahora busca tambien en actividades y tareas de cualquier proyecto (antes
solo nombre/codigo del proyecto). Resultados en un panel flotante con la ruta completa
"Proyecto - Actividad - Tarea"; clic navega al proyecto y abre la actividad encontrada
(pestaña Tareas si el resultado era una tarea).

Buscador de Actividades (dentro de un proyecto): busca tambien en las tareas de esa actividad,
mismo panel con "Actividad - Tarea".

Nuevo GET /api/search?q=...&projectId= (global o acotado a un proyecto). Nuevos componentes/hooks
reutilizables: SearchResultsDropdown, useDebouncedValue.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-09-16 15:04:53 -05:00
parent 528a1e7cae
commit 67cb58ed0b
19 changed files with 267 additions and 13 deletions
+15
View File
@@ -261,6 +261,21 @@ table.list-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.flyout-item.danger:hover { background: rgb(var(--danger) / .14); }
.flyout-separator { height: 1px; background: rgb(var(--line)); margin: 4px 2px; }
/* --- Resultados de busqueda (Proyectos: global; Actividades: por proyecto) --- */
.search-results-dropdown {
position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 80;
background: rgb(var(--surface)); border: 1px solid rgb(var(--line));
border-radius: var(--r-lg); box-shadow: 0 10px 28px rgb(0 0 0 / .35);
padding: 6px; max-height: 320px; overflow-y: auto;
}
.search-results-item {
display: block; width: 100%; text-align: left; padding: 8px 10px; border-radius: var(--r-sm);
background: none; border: none; cursor: pointer; font-size: .8rem; color: rgb(var(--body));
}
.search-results-item:hover { background: rgb(var(--accent) / .14); }
.search-results-sep { color: rgb(var(--muted)); }
.search-results-empty { padding: 10px; font-size: .78rem; color: rgb(var(--muted)); }
/* --- Treeview --- */
.tree-item-row { display: flex; align-items: center; gap: 6px; padding: 6px 6px; border-radius: var(--r-sm); cursor: pointer; }
.tree-item-row:hover { background: rgb(var(--panel)); }