portfolio/web/handlers/projectPageHandler.go
Darius klein 5e1cd15c07
All checks were successful
build and deploy portfolio / build (pull_request) Successful in 51s
build and deploy portfolio / publish-docs (pull_request) Successful in 4s
build and deploy portfolio / publish-portfolio (pull_request) Successful in 3s
Version bump + migration dependencies
2025-05-07 22:33:21 +02:00

48 lines
846 B
Go

package handlers
import (
"context"
g "maragu.dev/gomponents"
. "maragu.dev/gomponents/html"
"net/http"
"portfolio/database/query"
"portfolio/web/components"
)
func ProjectPageHandler(w http.ResponseWriter, r *http.Request) {
err := Page("Project page", createProjectBody(w, r)).Render(w)
if err != nil {
return
}
}
func createProjectBody(w http.ResponseWriter, r *http.Request) g.Node {
projects, err := query.GetProjects(context.Background())
if err != nil {
return nil
}
return Body(
components.Edit(),
components.ProjectList(projects),
)
}
func CreateProjectEditBody(w http.ResponseWriter, r *http.Request) {
projects, err := query.GetProjects(context.Background())
if err != nil {
return
}
w.WriteHeader(http.StatusOK)
Body(
components.EditProjectList(projects),
components.Save(),
).Render(w)
}