This commit is contained in:
2026-08-23 14:13:18 -05:00
parent 789bf91eed
commit 866f243f1b
37 changed files with 1761 additions and 58 deletions
+12 -5
View File
@@ -75,6 +75,7 @@ func (h *Web) handleArtist(w http.ResponseWriter, r *http.Request) {
http.NotFound(w, r)
return
}
h.maybeFetchArtistPhoto(artist)
albums, err := database.ListAlbumsByArtist(h.DB, id)
if err != nil {
http.Error(w, "internal error", http.StatusInternalServerError)
@@ -85,9 +86,9 @@ func (h *Web) handleArtist(w http.ResponseWriter, r *http.Request) {
views = append(views, toAlbumView(h.DB, a))
}
h.page(w, r, "artist", "artists", artist.Name, struct {
Artist *database.Artist
Artist ArtistView
Albums []AlbumView
}{artist, views})
}{toArtistView(artist), views})
}
func (h *Web) handleAlbums(w http.ResponseWriter, r *http.Request) {
@@ -126,12 +127,14 @@ func (h *Web) handleAlbum(w http.ResponseWriter, r *http.Request) {
return
}
userID := ""
isAdmin := false
if user != nil {
userID = user.ID
isAdmin = user.IsAdmin
}
var rows []SongRow
for _, s := range songs {
rows = append(rows, toSongRow(h.DB, s, album, userID))
rows = append(rows, toSongRow(h.DB, s, album, userID, isAdmin))
}
starred := false
if user != nil {
@@ -157,12 +160,14 @@ func (h *Web) handleSongs(w http.ResponseWriter, r *http.Request) {
songs = songs[:pageSize]
}
userID := ""
isAdmin := false
if user != nil {
userID = user.ID
isAdmin = user.IsAdmin
}
var rows []SongRow
for _, s := range songs {
rows = append(rows, toSongRow(h.DB, s, albumOf(h.DB, s), userID))
rows = append(rows, toSongRow(h.DB, s, albumOf(h.DB, s), userID, isAdmin))
}
h.page(w, r, "songs", "songs", "Songs", struct {
Songs []SongRow
@@ -219,14 +224,16 @@ func (h *Web) handleSearch(w http.ResponseWriter, r *http.Request) {
if songIDRows != nil {
defer songIDRows.Close()
userID := ""
isAdmin := false
if user != nil {
userID = user.ID
isAdmin = user.IsAdmin
}
for songIDRows.Next() {
var id string
if songIDRows.Scan(&id) == nil {
if song, err := database.GetSong(h.DB, id); err == nil {
songRows = append(songRows, toSongRow(h.DB, song, albumOf(h.DB, song), userID))
songRows = append(songRows, toSongRow(h.DB, song, albumOf(h.DB, song), userID, isAdmin))
}
}
}