aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-05-24 09:38:48 -0300
committerflow <flowlnlnln@gmail.com>2022-05-24 09:38:48 -0300
commitca3c6c5e8a5151ea50e51f09938b894e6a610626 (patch)
tree57d2587ee294894015ecfcaa98b5e035f2a787b0 /launcher/modplatform/modrinth/ModrinthPackIndex.cpp
parent3cc26b15a1a99860b1c2a9c69bc434479b4627bb (diff)
downloadPrismLauncher-ca3c6c5e8a5151ea50e51f09938b894e6a610626.tar.gz
PrismLauncher-ca3c6c5e8a5151ea50e51f09938b894e6a610626.tar.bz2
PrismLauncher-ca3c6c5e8a5151ea50e51f09938b894e6a610626.zip
feat: add donate links for modrinth mods
Diffstat (limited to 'launcher/modplatform/modrinth/ModrinthPackIndex.cpp')
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackIndex.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackIndex.cpp b/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
index f7fa9864..32b4cfd4 100644
--- a/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackIndex.cpp
@@ -45,6 +45,27 @@ void Modrinth::loadIndexedPack(ModPlatform::IndexedPack& pack, QJsonObject& obj)
modAuthor.name = Json::requireString(obj, "author");
modAuthor.url = api.getAuthorURL(modAuthor.name);
pack.authors.append(modAuthor);
+
+ // Modrinth can have more data than what's provided by the basic search :)
+ pack.extraDataLoaded = false;
+}
+
+void Modrinth::loadExtraPackData(ModPlatform::IndexedPack& pack, QJsonObject& obj)
+{
+ auto donate_arr = Json::ensureArray(obj, "donation_urls");
+ for(auto d : donate_arr){
+ auto d_obj = Json::requireObject(d);
+
+ ModPlatform::DonationData donate;
+
+ donate.id = Json::ensureString(d_obj, "id");
+ donate.platform = Json::ensureString(d_obj, "platform");
+ donate.url = Json::ensureString(d_obj, "url");
+
+ pack.extraData.donate.append(donate);
+ }
+
+ pack.extraDataLoaded = true;
}
void Modrinth::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,