diff options
author | GrailFinder <wohilas@gmail.com> | 2024-05-29 08:42:36 +0300 |
---|---|---|
committer | GrailFinder <wohilas@gmail.com> | 2024-05-29 08:42:36 +0300 |
commit | d0ec9f38b17dadf4c244904e28e064d6ad7c5674 (patch) | |
tree | c9edf41291ed0a0d3bc12d3293cb013351d62d3b | |
parent | 9b52a88e971e70facc74778c133244f8a93b1f31 (diff) |
Feat: add recommendations [wip]
-rw-r--r-- | components/recommendation.html | 48 | ||||
-rw-r--r-- | internal/handlers/elements.go | 18 | ||||
-rw-r--r-- | internal/server/router.go | 2 |
3 files changed, 68 insertions, 0 deletions
diff --git a/components/recommendation.html b/components/recommendation.html new file mode 100644 index 0000000..5036088 --- /dev/null +++ b/components/recommendation.html @@ -0,0 +1,48 @@ +{{define "recommentdation"}} +<div class="actiontable"> +<p>ActionTypePlus</p> +<table> + <tr> + <th>Name</th> + <th>Magnitude</th> + <th>Repeatable</th> + <th>Commit</th> + </tr> + {{range $action := .Actions}} + {{if and (eq $action.Type "ActionTypePlus") (or (not $action.Done) ($action.Repeatable))}} + <form hx-post="/done" hx-target="#ancestor" hx-swap="outerHTML"> + <tr> + <td><input class="action_name" name="name" value={{$action.Name}} type="hidden" readonly />{{$action.Name}}</td> + <td>{{$action.Magnitude}}</td> + <td>{{$action.Repeatable}}</td> + <td><input type="submit" value="Done It"></input></td> + </tr> + </form> + {{end}} + {{end}} +</table> +</div> +<div class="actiontable"> +<p>ActionTypeMinus</p> +<table> + <tr> + <th>Name</th> + <th>Magnitude</th> + <th>Repeatable</th> + <th>Commit</th> + </tr> + {{range $action := .Actions}} + {{if eq $action.Type "ActionTypeMinus"}} + <form hx-post="/done" hx-target="#ancestor" hx-swap="outerHTML"> + <tr> + <td><input class="action_name" name="name" value={{$action.Name}} type="hidden" readonly />{{$action.Name}}</td> + <td>{{$action.Magnitude}}</td> + <td>{{$action.Repeatable}}</td> + <td><input type="submit" value="Done It"></input></td> + </tr> + </form> + {{end}} + {{end}} +</table> +</div> +{{end}} diff --git a/internal/handlers/elements.go b/internal/handlers/elements.go index 62c632b..965281a 100644 --- a/internal/handlers/elements.go +++ b/internal/handlers/elements.go @@ -22,3 +22,21 @@ func (h *Handlers) ServeHideForm(w http.ResponseWriter, r *http.Request) { } tmpl.ExecuteTemplate(w, "showformbtn", nil) } + +func (h *Handlers) ShowRecommended(w http.ResponseWriter, r *http.Request) { + tmpl, err := template.ParseGlob("components/*.html") + if err != nil { + abortWithError(w, err.Error()) + return + } + tmpl.ExecuteTemplate(w, "showformbtn", nil) +} + +func (h *Handlers) HideRecommended(w http.ResponseWriter, r *http.Request) { + tmpl, err := template.ParseGlob("components/*.html") + if err != nil { + abortWithError(w, err.Error()) + return + } + tmpl.ExecuteTemplate(w, "showformbtn", nil) +} diff --git a/internal/server/router.go b/internal/server/router.go index ae68418..f36e55f 100644 --- a/internal/server/router.go +++ b/internal/server/router.go @@ -29,6 +29,8 @@ func (srv *server) ListenToRequests() { // ====== elements ====== mux.HandleFunc("GET /showform", h.ServeShowForm) mux.HandleFunc("GET /hideform", h.ServeHideForm) + mux.HandleFunc("GET /recommendation", h.ShowRecommended) + mux.HandleFunc("GET /recommendation-hide", h.HideRecommended) fmt.Printf("Listening on %v\n", server.Addr) server.ListenAndServe() |