Made the release search results size the same as in release lists
This commit is contained in:
@@ -33,10 +33,11 @@ using namespace Database;
|
||||
namespace UserInterface::ReleaseListHelpers
|
||||
{
|
||||
|
||||
static
|
||||
std::unique_ptr<Wt::WTemplate>
|
||||
createEntrySmall(const Database::Release::pointer& release)
|
||||
createEntryInternal(const Database::Release::pointer& release, const std::string& templateKey)
|
||||
{
|
||||
auto entry {std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.Explore.Releases.template.entry-small"))};
|
||||
auto entry {std::make_unique<Wt::WTemplate>(Wt::WString::tr(templateKey))};
|
||||
|
||||
entry->bindWidget("release-name", LmsApplication::createReleaseAnchor(release));
|
||||
|
||||
@@ -64,5 +65,17 @@ namespace UserInterface::ReleaseListHelpers
|
||||
return entry;
|
||||
}
|
||||
|
||||
std::unique_ptr<Wt::WTemplate>
|
||||
createEntry(const Release::pointer& release)
|
||||
{
|
||||
return createEntryInternal(release, "Lms.Explore.Releases.template.entry");
|
||||
}
|
||||
|
||||
std::unique_ptr<Wt::WTemplate>
|
||||
createEntrySmall(const Release::pointer& release)
|
||||
{
|
||||
return createEntryInternal(release, "Lms.Explore.Releases.template.entry-small");
|
||||
}
|
||||
|
||||
} // namespace UserInterface
|
||||
|
||||
|
||||
@@ -32,6 +32,6 @@ namespace UserInterface::ReleaseListHelpers
|
||||
{
|
||||
|
||||
std::unique_ptr<Wt::WTemplate> createEntrySmall(const Wt::Dbo::ptr<Database::Release>& release);
|
||||
|
||||
std::unique_ptr<Wt::WTemplate> createEntry(const Wt::Dbo::ptr<Database::Release>& release);
|
||||
} // namespace UserInterface
|
||||
|
||||
|
||||
@@ -29,12 +29,11 @@
|
||||
#include "database/Release.hpp"
|
||||
#include "database/User.hpp"
|
||||
#include "database/TrackList.hpp"
|
||||
|
||||
#include "utils/Logger.hpp"
|
||||
#include "utils/String.hpp"
|
||||
|
||||
#include "resource/ImageResource.hpp"
|
||||
|
||||
#include "ReleaseListHelpers.hpp"
|
||||
#include "Filters.hpp"
|
||||
#include "LmsApplication.hpp"
|
||||
|
||||
@@ -106,52 +105,6 @@ Releases::refreshView(Mode mode)
|
||||
refreshView();
|
||||
}
|
||||
|
||||
std::unique_ptr<Wt::WTemplate>
|
||||
Releases::createEntry(const Release::pointer& release)
|
||||
{
|
||||
const IdType releaseId {release.id()};
|
||||
|
||||
auto entry = std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.Explore.Releases.template.entry"));
|
||||
entry->addFunction("tr", Wt::WTemplate::Functions::tr);
|
||||
|
||||
Wt::WAnchor* anchor = entry->bindWidget("cover", LmsApplication::createReleaseAnchor(release, false));
|
||||
auto cover = std::make_unique<Wt::WImage>();
|
||||
cover->setImageLink(LmsApp->getImageResource()->getReleaseUrl(release.id(), ImageResource::Size::Small));
|
||||
cover->setStyleClass("Lms-cover");
|
||||
anchor->setImage(std::move(cover));
|
||||
|
||||
entry->bindWidget("release-name", LmsApplication::createReleaseAnchor(release));
|
||||
|
||||
auto artists = release->getReleaseArtists();
|
||||
if (artists.empty())
|
||||
artists = release->getArtists();
|
||||
|
||||
if (artists.size() > 1)
|
||||
{
|
||||
entry->setCondition("if-has-artist", true);
|
||||
entry->bindNew<Wt::WText>("artist-name", Wt::WString::tr("Lms.Explore.various-artists"));
|
||||
}
|
||||
else if (artists.size() == 1)
|
||||
{
|
||||
entry->setCondition("if-has-artist", true);
|
||||
entry->bindWidget("artist-name", LmsApplication::createArtistAnchor(artists.front()));
|
||||
}
|
||||
|
||||
Wt::WText* playBtn = entry->bindNew<Wt::WText>("play-btn", Wt::WString::tr("Lms.Explore.template.play-btn"), Wt::TextFormat::XHTML);
|
||||
playBtn->clicked().connect([=]
|
||||
{
|
||||
releasesAction.emit(PlayQueueAction::Play, {releaseId});
|
||||
});
|
||||
|
||||
Wt::WText* addBtn = entry->bindNew<Wt::WText>("add-btn", Wt::WString::tr("Lms.Explore.template.add-btn"), Wt::TextFormat::XHTML);
|
||||
addBtn->clicked().connect([=]
|
||||
{
|
||||
releasesAction.emit(PlayQueueAction::AddLast, {releaseId});
|
||||
});
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
void
|
||||
Releases::addSome()
|
||||
{
|
||||
@@ -161,7 +114,7 @@ Releases::addSome()
|
||||
|
||||
for (const Release::pointer& release : getReleases(Range {static_cast<std::size_t>(_container->count()), batchSize}, moreResults))
|
||||
{
|
||||
_container->addWidget(createEntry(release));
|
||||
_container->addWidget(ReleaseListHelpers::createEntry(release));
|
||||
}
|
||||
|
||||
_showMore->setHidden(!moreResults);
|
||||
|
||||
@@ -61,7 +61,6 @@ class Releases : public Wt::WTemplate
|
||||
std::vector<Wt::Dbo::ptr<Database::Release>> getReleases(std::optional<Database::Range> range, bool& moreResults);
|
||||
std::vector<Wt::Dbo::ptr<Database::Release>> getRandomReleases(std::optional<Database::Range> range, bool& moreResults);
|
||||
std::vector<Database::IdType> getAllReleases();
|
||||
std::unique_ptr<Wt::WTemplate> createEntry(const Wt::Dbo::ptr<Database::Release>& release);
|
||||
|
||||
static constexpr Mode defaultMode {Mode::Random};
|
||||
static constexpr std::size_t batchSize {20};
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace UserInterface
|
||||
auto* container {bindNew<Wt::WContainerWidget>("releases")};
|
||||
|
||||
for (const Database::Release::pointer& release : releases)
|
||||
container->addWidget(ReleaseListHelpers::createEntrySmall(release));
|
||||
container->addWidget(ReleaseListHelpers::createEntry(release));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user