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