71 lines
1.9 KiB
Markdown
71 lines
1.9 KiB
Markdown
# 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
|