Reimplement View Homepage

I removed it for some reason, but now it's back for all pages!

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2024-10-28 20:14:56 +00:00
parent 354a0ed46e
commit 2b22a1aebe
11 changed files with 90 additions and 24 deletions

View File

@@ -141,16 +141,14 @@ auto Mod::version() const -> QString
return details().version;
}
auto Mod::homeurl() const -> QString
auto Mod::homepage() const -> QString
{
return details().homeurl;
}
QString metaUrl = Resource::homepage();
auto Mod::metaurl() const -> QString
{
if (metadata() == nullptr)
return homeurl();
return ModPlatform::getMetaURL(metadata()->provider, metadata()->project_id);
if (metaUrl.isEmpty())
return details().homeurl;
else
return metaUrl;
}
auto Mod::loaders() const -> QString

View File

@@ -61,12 +61,11 @@ class Mod : public Resource {
auto details() const -> const ModDetails&;
auto name() const -> QString override;
auto version() const -> QString;
auto homeurl() const -> QString;
auto homepage() const -> QString override;
auto description() const -> QString;
auto authors() const -> QStringList;
auto licenses() const -> const QList<ModLicense>&;
auto issueTracker() const -> QString;
auto metaurl() const -> QString;
auto side() const -> QString;
auto loaders() const -> QString;
auto mcVersions() const -> QString;

View File

@@ -95,6 +95,14 @@ auto Resource::provider() const -> QString
return tr("Unknown");
}
auto Resource::homepage() const -> QString
{
if (metadata())
return ModPlatform::getMetaURL(metadata()->provider, metadata()->project_id);
return {};
}
void Resource::setMetadata(std::shared_ptr<Metadata::ModStruct>&& metadata)
{
if (status() == ResourceStatus::NO_METADATA)

View File

@@ -100,6 +100,7 @@ class Resource : public QObject {
[[nodiscard]] auto metadata() -> std::shared_ptr<Metadata::ModStruct> { return m_metadata; }
[[nodiscard]] auto metadata() const -> std::shared_ptr<const Metadata::ModStruct> { return m_metadata; }
[[nodiscard]] auto provider() const -> QString;
[[nodiscard]] virtual auto homepage() const -> QString;
void setStatus(ResourceStatus status) { m_status = status; }
void setMetadata(std::shared_ptr<Metadata::ModStruct>&& metadata);