experience.go (1222B)
1 package handlers 2 3 import ( 4 "net/http" 5 6 "git.prime8.dev/moncheeta/prime8dev/internal/config" 7 "git.prime8.dev/moncheeta/prime8dev/internal/utils" 8 "git.prime8.dev/moncheeta/prime8dev/internal/web" 9 "github.com/go-chi/chi/v5" 10 ) 11 12 func (h *Handler) ExperienceListHandler(w http.ResponseWriter, r *http.Request) { 13 about := config.GetAbout() 14 experience := config.GetExperience() 15 data := web.BaseData("Experience", "experience", about) 16 data.Experience = experience 17 18 if utils.IsHTMXRequest(r) { 19 h.renderTemplate(w, r, "experience", data, fragmentCacheMaxAgeSeconds) 20 return 21 } 22 23 h.renderTemplate(w, r, "layout", data, fullPageCacheMaxAgeSeconds) 24 } 25 26 func (h *Handler) ExperiencePageHandler(w http.ResponseWriter, r *http.Request) { 27 id := chi.URLParam(r, "id") 28 exp := config.GetExperienceByID(id) 29 if exp == nil { 30 http.NotFound(w, r) 31 return 32 } 33 34 about := config.GetAbout() 35 experience := config.GetExperience() 36 data := web.BaseData("Experience", "experience", about) 37 data.Experience = experience 38 data.SelectedExperienceID = id 39 40 if utils.IsHTMXRequest(r) { 41 h.renderTemplate(w, r, "experience", data, fragmentCacheMaxAgeSeconds) 42 return 43 } 44 45 h.renderTemplate(w, r, "layout", data, fullPageCacheMaxAgeSeconds) 46 }