diff --git a/approot/release.xml b/approot/release.xml index 448868d9..1c80b1e3 100644 --- a/approot/release.xml +++ b/approot/release.xml @@ -12,7 +12,7 @@ ${cover}
-

${name}

+

${name}${}[${comment}]${}

${}${artists}${}
${}${year} ยท ${}${duration}
${clusters class="mb-2"} @@ -41,7 +41,7 @@
${}

${tr:Lms.Explore.Release.similar-releases}

- ${similar-releases class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-6 gx-2 gy-4"} + ${similar-releases class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 gx-2 gy-4"} ${
} diff --git a/approot/releases.xml b/approot/releases.xml index 534480d9..ed30939d 100644 --- a/approot/releases.xml +++ b/approot/releases.xml @@ -27,15 +27,15 @@
${cover class="shadow-sm"}
- ${release-name class="d-block text-truncate text-nowrap text-decoration-none link-success"} - ${}${artist-name class="d-block text-truncate text-nowrap"}${} + ${release-name class="Lms-multiline-clamp text-decoration-none link-success"} + ${}${artist-name class="Lms-multiline-clamp"}${} ${}
${year}
${
} - ${elements class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-6 gx-2 gy-4"} + ${elements class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 gx-2 gy-4"} ${loading-indicator} diff --git a/docroot/css/lms.css b/docroot/css/lms.css index 775c648a..11956758 100644 --- a/docroot/css/lms.css +++ b/docroot/css/lms.css @@ -103,6 +103,15 @@ body { background-color: var(--bs-gray-900); } +.Lms-multiline-clamp { + line-clamp: 2; + -webkit-line-clamp: 2; + overflow: hidden; + display: -webkit-box; + word-break: break-word; + -webkit-box-orient: vertical; +} + .Lms-notification-container { position: fixed; bottom: 78px; diff --git a/src/lms/ui/Utils.cpp b/src/lms/ui/Utils.cpp index f353af0d..d85c815d 100644 --- a/src/lms/ui/Utils.cpp +++ b/src/lms/ui/Utils.cpp @@ -299,10 +299,16 @@ namespace lms::ui::utils std::unique_ptr createReleaseAnchor(db::Release::pointer release, bool setText) { auto res = std::make_unique(createReleaseLink(release)); - if (setText) { std::string releaseName{ release->getName() }; + if (std::string_view releaseComment{ release->getComment() }; !releaseComment.empty()) + { + releaseName += " ["; + releaseName += releaseComment; + releaseName += ']'; + } + res->setTextFormat(Wt::TextFormat::Plain); res->setText(Wt::WString::fromUTF8(releaseName)); res->setToolTip(Wt::WString::fromUTF8(releaseName), Wt::TextFormat::Plain); diff --git a/src/lms/ui/explore/ReleaseView.cpp b/src/lms/ui/explore/ReleaseView.cpp index 76466ca4..2e67839e 100644 --- a/src/lms/ui/explore/ReleaseView.cpp +++ b/src/lms/ui/explore/ReleaseView.cpp @@ -216,7 +216,7 @@ namespace lms::ui if (!releaseId) throw ReleaseNotFoundException{}; - auto similarReleasesIds{ core::Service::get()->getSimilarReleases(*releaseId, 6) }; + auto similarReleasesIds{ core::Service::get()->getSimilarReleases(*releaseId, 5) }; auto transaction{ LmsApp->getDbSession().createReadTransaction() }; @@ -232,6 +232,11 @@ namespace lms::ui refreshSimilarReleases(similarReleasesIds); bindString("name", Wt::WString::fromUTF8(std::string{ release->getName() }), Wt::TextFormat::Plain); + if (std::string_view comment{ release->getComment() }; !comment.empty()) + { + setCondition("if-has-release-comment", true); + bindString("comment", Wt::WString::fromUTF8(std::string{ comment }), Wt::TextFormat::Plain); + } Wt::WString year{ releaseHelpers::buildReleaseYearString(release->getYear(), release->getOriginalYear()) }; if (!year.empty())