#pragma once #include #include #include #include #include #include #include "net/NetJob.h" namespace Modrinth { struct ModpackAuthor { QString name; QString url; }; struct IndexedVersion { QString addonId; QString fileId; QString version; QString mcVersion; QString downloadUrl; QString date; QString fileName; }; struct IndexedPack { QString addonId; QString name; QString description; QList authors; QString logoName; QString logoUrl; QString websiteUrl; bool versionsLoaded = false; QVector versions; }; void loadIndexedPack(IndexedPack & m, QJsonObject & obj); void loadIndexedPackVersions(IndexedPack & m, QJsonArray & arr, const shared_qobject_ptr& network); void versionJobFinished(); } Q_DECLARE_METATYPE(Modrinth::IndexedPack)