Add auth, rest api, svelte frontend, build structure
This commit is contained in:
33
internal/handlers/admin.go
Normal file
33
internal/handlers/admin.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"git.clustercockpit.org/moebiusband/go-http-skeleton/web"
|
||||
"github.com/olivere/vite"
|
||||
)
|
||||
|
||||
func AdminHandler() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
tpl := template.Must(template.ParseFS(web.Templates, "templates/admin.html", "templates/base.html"))
|
||||
viteFragment, err := vite.HTMLFragment(vite.Config{
|
||||
FS: web.StaticAssets,
|
||||
IsDev: false,
|
||||
})
|
||||
if err != nil {
|
||||
http.Error(w, "Error instantiating vite fragment", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
data := web.PageData{
|
||||
Title: "Admin",
|
||||
Vite: viteFragment,
|
||||
}
|
||||
if err := tpl.ExecuteTemplate(w, "base", data); err != nil {
|
||||
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
|
||||
slog.Error("Error executing template", "error", err)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user