7 IVChannel::IVChannel(const QString &id, QObject *parent) : QObject(parent) {
8 QUrl url = Invidious::instance().method("channels/");
9 url.setPath(url.path() + id);
11 auto *reply = Invidious::cachedHttp().get(url);
12 connect(reply, &HttpReply::data, this, [this](auto data) {
13 QJsonDocument doc = QJsonDocument::fromJson(data);
14 const QJsonObject obj = doc.object();
16 displayName = obj["author"].toString();
17 description = obj["descriptionHtml"].toString();
19 const auto thumbnails = obj["authorThumbnails"].toArray();
20 for (const auto &thumbnail : thumbnails) {
21 if (thumbnail["width"].toInt() >= 300) {
22 thumbnailUrl = thumbnail["url"].toString();
26 qDebug() << displayName << description << thumbnailUrl;
30 connect(reply, &HttpReply::error, this, [this](auto message) {
31 Invidious::instance().initServers();