tracks can be edited! + major template overhaul

This commit is contained in:
ari melody 2024-08-31 15:25:44 +01:00
parent 99b6a21179
commit 63122eb428
Signed by: ari
GPG key ID: CF99829C92678188
21 changed files with 674 additions and 221 deletions

View file

@ -4,7 +4,6 @@ import (
"fmt"
"html/template"
"net/http"
"path"
"strings"
"arimelody.me/arimelody.me/global"
@ -71,13 +70,10 @@ func serveRelease() http.Handler {
})
}
lrw := global.LoggingResponseWriter{ResponseWriter: w, Code: http.StatusOK}
serveTemplate("edit-release.html", gatewayRelease{release, tracks}).ServeHTTP(&lrw, r)
if lrw.Code != http.StatusOK {
fmt.Printf("Error rendering admin release page for %s\n", id)
return
err := pages["release"].Execute(w, gatewayRelease{release, tracks})
if err != nil {
fmt.Printf("Error rendering admin release page for %s: %s\n", id, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
})
}
@ -85,8 +81,11 @@ func serveRelease() http.Handler {
func serveEditCredits(release *model.Release) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("credits", "editcredits.html"), release).ServeHTTP(w, r)
return
err := components["editcredits"].Execute(w, release)
if err != nil {
fmt.Printf("Error rendering edit credits component for %s: %s\n", release.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
})
}
@ -112,11 +111,14 @@ func serveAddCredit(release *model.Release) http.Handler {
}
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("credits", "addcredit.html"), response{
err := components["addcredit"].Execute(w, response{
ReleaseID: release.ID,
Artists: artists,
}).ServeHTTP(w, r)
return
})
if err != nil {
fmt.Printf("Error rendering add credits component for %s: %s\n", release.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
})
}
@ -129,7 +131,11 @@ func serveNewCredit() http.Handler {
}
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("credits", "newcredit.html"), artist).ServeHTTP(w, r)
err := components["newcredit"].Execute(w, artist)
if err != nil {
fmt.Printf("Error rendering new credit component for %s: %s\n", artist.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
return
})
}
@ -137,7 +143,11 @@ func serveNewCredit() http.Handler {
func serveEditLinks(release *model.Release) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("links", "editlinks.html"), release).ServeHTTP(w, r)
err := components["editlinks"].Execute(w, release)
if err != nil {
fmt.Printf("Error rendering edit links component for %s: %s\n", release.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
return
})
}
@ -158,7 +168,11 @@ func serveEditTracks(release *model.Release) http.Handler {
data.Tracks = append(data.Tracks, Track{track, i + 1})
}
serveComponent(path.Join("tracks", "edittracks.html"), data).ServeHTTP(w, r)
err := components["edittracks"].Execute(w, data)
if err != nil {
fmt.Printf("Error rendering edit tracks component for %s: %s\n", release.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
return
})
}
@ -185,10 +199,14 @@ func serveAddTrack(release *model.Release) http.Handler {
}
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("tracks", "addtrack.html"), response{
err := components["addtrack"].Execute(w, response{
ReleaseID: release.ID,
Tracks: tracks,
}).ServeHTTP(w, r)
})
if err != nil {
fmt.Printf("Error rendering add tracks component for %s: %s\n", release.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
return
})
}
@ -207,10 +225,14 @@ func serveNewTrack(release *model.Release) http.Handler {
}
w.Header().Set("Content-Type", "text/html")
serveComponent(path.Join("tracks", "newtrack.html"), Track{
err := components["newtrack"].Execute(w, Track{
track,
len(release.Tracks) + 1,
}).ServeHTTP(w, r)
})
if err != nil {
fmt.Printf("Error rendering new track component for %s: %s\n", track.ID, err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
}
return
})
}