fix: add author page url

This commit is contained in:
flow 2022-05-15 07:12:31 -03:00
parent a43f882d48
commit 4a0e4fdb85
3 changed files with 10 additions and 7 deletions

View File

@ -16,9 +16,13 @@
#include "ModrinthPackManifest.h"
#include "Json.h"
#include "modplatform/modrinth/ModrinthAPI.h"
#include "minecraft/MinecraftInstance.h"
#include "minecraft/PackProfile.h"
static ModrinthAPI api;
namespace Modrinth {
void loadIndexedPack(Modpack& pack, QJsonObject& obj)
@ -27,7 +31,8 @@ void loadIndexedPack(Modpack& pack, QJsonObject& obj)
pack.name = Json::ensureString(obj, "title");
pack.description = Json::ensureString(obj, "description");
pack.authors << Json::ensureString(obj, "author");
auto temp_author_name = Json::ensureString(obj, "author");
pack.author = std::make_tuple(temp_author_name, api.getAuthorURL(temp_author_name));
pack.iconName = QString("modrinth_%1").arg(Json::ensureString(obj, "slug"));
pack.iconUrl = Json::ensureString(obj, "icon_url");
}

View File

@ -62,7 +62,7 @@ struct Modpack {
QString name;
QString description;
QStringList authors;
std::tuple<QString, QUrl> author;
QString iconName;
QUrl iconUrl;

View File

@ -221,10 +221,8 @@ void ModrinthPage::updateUI()
else
text = "<a href=\"" + current.extra.projectUrl + "\">" + current.name + "</a>";
if (!current.authors.empty()) {
// TODO: Implement multiple authors with links
text += "<br>" + tr(" by ") + current.authors.at(0);
}
// TODO: Implement multiple authors with links
text += "<br>" + tr(" by ") + QString("<a href=%1>%2</a>").arg(std::get<1>(current.author).toString(), std::get<0>(current.author));
text += "<br>";
@ -255,7 +253,7 @@ void ModrinthPage::suggestCurrent()
dialog->setSuggestedPack(current.name, new InstanceImportTask(ver.download_url));
auto iconName = current.iconName;
m_model->getLogo(iconName, current.iconUrl.toString(),
[this, iconName](QString logo) { dialog->setSuggestedIconFromFile(logo, iconName); });
[this, iconName](QString logo) { dialog->setSuggestedIconFromFile(logo, iconName); });
break;
}