Files
LazyPM/pkg/web/handler/index.go
Ine Maria Nilssen Aanonsen d1ef4e9491 READ ISSUES - WEB
2026-02-23 13:51:42 +01:00

39 lines
874 B
Go

package handler
import (
"net/http"
"strings"
"github.com/LazyBachelor/LazyPM/internal/models"
"github.com/LazyBachelor/LazyPM/pkg/web/components"
"github.com/LazyBachelor/LazyPM/pkg/web/routes"
)
func IndexHandler(w http.ResponseWriter, r *http.Request) {
svc := Services(r)
hx := HTMX(r)
query := strings.TrimSpace(r.URL.Query().Get("q"))
filter := models.IssueFilter{Limit: 100}
issuesPtr, err := svc.Beads.SearchIssues(r.Context(), query, filter)
if err != nil {
http.Error(w, "failed to retrieve issues", http.StatusInternalServerError)
return
}
issues := models.IssuesPtrToIssues(issuesPtr)
props := routes.IndexProps{
IssueTable: components.IssueTableProps{
Issues: issues,
},
SearchQuery: query,
}
if hx.IsHxRequest() {
routes.IndexContent(props).Render(r.Context(), w)
return
}
routes.Index(props).Render(r.Context(), w)
}