prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

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 }