// SPDX-FileCopyrightText: 2023 Joshua Goins // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include class News { Q_GADGET Q_PROPERTY(QDateTime date MEMBER date CONSTANT) Q_PROPERTY(QString id MEMBER id CONSTANT) Q_PROPERTY(QString tag MEMBER tag CONSTANT) Q_PROPERTY(QString title MEMBER title CONSTANT) Q_PROPERTY(QUrl url MEMBER url CONSTANT) public: QDateTime date; QString id; QString tag; QString title; QUrl url; }; class Banner { Q_GADGET Q_PROPERTY(QUrl link MEMBER link CONSTANT) Q_PROPERTY(QUrl bannerImage MEMBER bannerImage CONSTANT) public: QUrl link; QUrl bannerImage; }; class Headline : public QObject { Q_OBJECT Q_PROPERTY(QList banners MEMBER banners CONSTANT) Q_PROPERTY(QList news MEMBER news CONSTANT) Q_PROPERTY(QList pinned MEMBER pinned CONSTANT) Q_PROPERTY(QList topics MEMBER topics CONSTANT) Q_PROPERTY(bool failedToLoad MEMBER failedToLoad CONSTANT) public: explicit Headline(QObject *parent = nullptr) : QObject(parent) { } QList banners; QList news; QList pinned; QList topics; // FIXME: wtf is this? bool failedToLoad = false; };