Verified Commit 7c6ba261 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add SongList

parent 0b69162d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
import Artist from "./Artist.js"
import Pagination from "./Pagination.js"

export default {
    view: function (vnode) {
        const sortedSongs = vnode.attrs.songs.toSorted((a, b) => a.artist.localeCompare(b.artist) || a.title.localeCompare(b.title))
        const songsByArtist = Map.groupBy(sortedSongs, song => song.artist)

        return m(Pagination, { elements: songsByArtist.entries().map(([artist, songs]) => m(Artist, { artist, songs })) })
    },
}