# T13 Izveštaj: Dashboard — pretraga taskova i dokumentacije **Agent:** coder **Model:** Opus **Datum:** 2026-02-20 --- ## Šta je urađeno Dodat search bar na dashboard sa instant pretragom (HTMX debounce 300ms). ### Novi fajlovi | Fajl | Opis | |------|------| | `internal/server/search.go` | Search handler, matchTask, extractSnippet, containsInsensitive | | `web/templates/partials/search-results.html` | Template za dropdown rezultate | ### Izmenjeni fajlovi | Fajl | Izmena | |------|--------| | `internal/server/server.go` | GET /search ruta | | `internal/server/render.go` | renderSearchResults(), search-results template u init() | | `internal/server/server_test.go` | 8 novih testova, checker agent i report u test setup | | `web/templates/layout.html` | Search input sa hx-get, click-outside zatvaranje | | `web/static/style.css` | Search wrapper, dropdown, result items, status badges, snippet | ### Endpoint | Ruta | Opis | |------|------| | `GET /search?q={query}` | HTML fragment sa rezultatima pretrage | ### Šta pretražuje 1. **Taskovi** — ID, naslov, opis, agent, status 2. **Dokumenti** — svi .md fajlovi (sadržaj) 3. **Izveštaji** — reports/*.md (sadržaj) ### Features - Case insensitive pretraga - Snippet sa kontekstom oko pogotka - Status badge za taskove (done/active/review...) - Klik na task → otvori detail panel - Klik na dokument → navigacija na /docs/ - Max 20 rezultata - Prazan query → prazan odgovor - Nema rezultata → "Nema rezultata" poruka - Click outside → zatvori dropdown ### Novi testovi — 8 PASS ``` TestSearch_FindsTask PASS TestSearch_FindsTaskByID PASS TestSearch_FindsDocument PASS TestSearch_FindsReport PASS TestSearch_EmptyQuery PASS TestSearch_NoResults PASS TestSearch_CaseInsensitive PASS TestSearch_HasSnippet PASS ``` ### Ukupno projekat: 109 testova, svi prolaze - `go vet ./...` — čist - `go build ./...` — prolazi