restructured and refactored codebase

For better code organisation the entire Codebase has been restructured and cleaned up. handlers have been separated into an own package, as well as the model.
This commit is contained in:
Patryk Hegenberg 2023-12-04 11:04:06 +01:00
parent 4dd9c18832
commit a408e1487d
12 changed files with 400 additions and 544 deletions

26
handlers/about_handler.go Normal file
View file

@ -0,0 +1,26 @@
package handlers
import (
"embed"
"html/template"
"log"
"net/http"
)
func AboutHandler(content embed.FS) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
tmpl, err := template.ParseFS(content, "templates/base.html", "templates/header.html", "templates/main.html", "templates/footer.html", "templates/about.html")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = tmpl.ExecuteTemplate(w, "about", map[string]interface{}{
"Title": "Dungeons & Dragons Monster Generator",
})
if err != nil {
log.Printf("Template execution error: %v\n", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
}