Loading frontend/components/pieces/Artist.js +2 −8 Changes for frontend/components/pieces/Artist.js: 2 added lines, 8 removed lines. Original line number Diff line number Diff line import Song from "./Song.js" const Artist = { view: function (vnode) { const { artist, songs, currentView, searchTerm, currentPage, } = vnode.attrs const { artist, songs, currentView, searchTerm, currentPage } = vnode.attrs return m( "div.artist", { Loading frontend/components/pieces/Message.js +32 −5 Changes for frontend/components/pieces/Message.js: 32 added lines, 5 removed lines. Original line number Diff line number Diff line const Message = { view: function (vnode) { // Accepts: message, messageType, totalFilteredItems, currentView, ClearSearchLink, and clearSearchProps const { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps } = vnode.attrs const { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, } = vnode.attrs if (messageType === "filtered_favorites_some_hidden") { return m("p.view-message", [ `Deine Suche zeigt ${message.showing} von deinen insgesamt ${message.total} Favoriten. `, Loading @@ -26,16 +33,36 @@ const Message = { } // Helper for SongList export function renderMessage({ message, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, isLoading }) { export function renderMessage({ message, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, isLoading, }) { let messageType = null if (message && typeof message === "object") { messageType = message.type } if (messageType || (typeof message === "string" && (totalFilteredItems === 0 || currentView === "popular"))) { return m(Message, { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps }) if ( messageType || (typeof message === "string" && (totalFilteredItems === 0 || currentView === "popular")) ) { return m(Message, { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, }) } if (!messageType && totalFilteredItems === 0 && !isLoading) { return m(Message, { message: "Keine Songs entsprechen den aktuellen Kriterien." }) return m(Message, { message: "Keine Songs entsprechen den aktuellen Kriterien.", }) } return null } Loading frontend/components/pieces/PaginationControls.js +0 −1 Changes for frontend/components/pieces/PaginationControls.js: 0 added lines, 1 removed line. Original line number Diff line number Diff line const PaginationControls = { view: function (vnode) { const { currentPage, totalPages, onPageChange } = vnode.attrs Loading frontend/components/pieces/Song.js +0 −1 Changes for frontend/components/pieces/Song.js: 0 added lines, 1 removed line. Original line number Diff line number Diff line const Song = { view: function (vnode) { const { song } = vnode.attrs Loading frontend/components/pieces/SongList.js +9 −6 Changes for frontend/components/pieces/SongList.js: 9 added lines, 6 removed lines. Original line number Diff line number Diff line import Artist from "./Artist.js" import { renderMessage } from "./Message.js" import ClearSearchLink from "./ClearSearchLink.js" Loading Loading @@ -52,20 +51,24 @@ const SongList = { return [ messageElement, hasContentOnPage ? artistsOnPage.map(artist => hasContentOnPage ? artistsOnPage.map(artist => m(Artist, { artist, songs: groupedSongs[artist], currentView, query, currentPage, }) ) : null, totalPages > 1 ? m(PaginationControls, { }), ) : null, totalPages > 1 ? m(PaginationControls, { currentPage: currentPage, totalPages: totalPages, onPageChange: model.onPageChange.bind(model), }) : null, }) : null, ] }, } Loading Loading
frontend/components/pieces/Artist.js +2 −8 Changes for frontend/components/pieces/Artist.js: 2 added lines, 8 removed lines. Original line number Diff line number Diff line import Song from "./Song.js" const Artist = { view: function (vnode) { const { artist, songs, currentView, searchTerm, currentPage, } = vnode.attrs const { artist, songs, currentView, searchTerm, currentPage } = vnode.attrs return m( "div.artist", { Loading
frontend/components/pieces/Message.js +32 −5 Changes for frontend/components/pieces/Message.js: 32 added lines, 5 removed lines. Original line number Diff line number Diff line const Message = { view: function (vnode) { // Accepts: message, messageType, totalFilteredItems, currentView, ClearSearchLink, and clearSearchProps const { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps } = vnode.attrs const { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, } = vnode.attrs if (messageType === "filtered_favorites_some_hidden") { return m("p.view-message", [ `Deine Suche zeigt ${message.showing} von deinen insgesamt ${message.total} Favoriten. `, Loading @@ -26,16 +33,36 @@ const Message = { } // Helper for SongList export function renderMessage({ message, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, isLoading }) { export function renderMessage({ message, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, isLoading, }) { let messageType = null if (message && typeof message === "object") { messageType = message.type } if (messageType || (typeof message === "string" && (totalFilteredItems === 0 || currentView === "popular"))) { return m(Message, { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps }) if ( messageType || (typeof message === "string" && (totalFilteredItems === 0 || currentView === "popular")) ) { return m(Message, { message, messageType, totalFilteredItems, currentView, ClearSearchLink, clearSearchProps, }) } if (!messageType && totalFilteredItems === 0 && !isLoading) { return m(Message, { message: "Keine Songs entsprechen den aktuellen Kriterien." }) return m(Message, { message: "Keine Songs entsprechen den aktuellen Kriterien.", }) } return null } Loading
frontend/components/pieces/PaginationControls.js +0 −1 Changes for frontend/components/pieces/PaginationControls.js: 0 added lines, 1 removed line. Original line number Diff line number Diff line const PaginationControls = { view: function (vnode) { const { currentPage, totalPages, onPageChange } = vnode.attrs Loading
frontend/components/pieces/Song.js +0 −1 Changes for frontend/components/pieces/Song.js: 0 added lines, 1 removed line. Original line number Diff line number Diff line const Song = { view: function (vnode) { const { song } = vnode.attrs Loading
frontend/components/pieces/SongList.js +9 −6 Changes for frontend/components/pieces/SongList.js: 9 added lines, 6 removed lines. Original line number Diff line number Diff line import Artist from "./Artist.js" import { renderMessage } from "./Message.js" import ClearSearchLink from "./ClearSearchLink.js" Loading Loading @@ -52,20 +51,24 @@ const SongList = { return [ messageElement, hasContentOnPage ? artistsOnPage.map(artist => hasContentOnPage ? artistsOnPage.map(artist => m(Artist, { artist, songs: groupedSongs[artist], currentView, query, currentPage, }) ) : null, totalPages > 1 ? m(PaginationControls, { }), ) : null, totalPages > 1 ? m(PaginationControls, { currentPage: currentPage, totalPages: totalPages, onPageChange: model.onPageChange.bind(model), }) : null, }) : null, ] }, } Loading