#ifndef RESOURCES_H
#define RESOURCES_H

#include "messages/lazyloadedimage.h"

namespace chatterino {

class Resources
{
public:
    static void load();

    // badges
    static messages::LazyLoadedImage *
    getBadgeStaff()
    {
        return badgeStaff;
    }

    static messages::LazyLoadedImage *
    getBadgeAdmin()
    {
        return badgeAdmin;
    }

    static messages::LazyLoadedImage *
    getBadgeGlobalmod()
    {
        return badgeGlobalmod;
    }

    static messages::LazyLoadedImage *
    getBadgeModerator()
    {
        return badgeModerator;
    }

    static messages::LazyLoadedImage *
    getBadgeTurbo()
    {
        return badgeTurbo;
    }

    static messages::LazyLoadedImage *
    getBadgeBroadcaster()
    {
        return badgeBroadcaster;
    }

    static messages::LazyLoadedImage *
    getBadgePremium()
    {
        return badgePremium;
    }

    // cheer badges
    static messages::LazyLoadedImage *
    getCheerBadge100000()
    {
        return cheerBadge100000;
    }

    static messages::LazyLoadedImage *
    getCheerBadge10000()
    {
        return cheerBadge10000;
    }

    static messages::LazyLoadedImage *
    getCheerBadge5000()
    {
        return cheerBadge5000;
    }

    static messages::LazyLoadedImage *
    getCheerBadge1000()
    {
        return cheerBadge1000;
    }

    static messages::LazyLoadedImage *
    getCheerBadge100()
    {
        return cheerBadge100;
    }

    static messages::LazyLoadedImage *
    getCheerBadge1()
    {
        return cheerBadge1;
    }

    static messages::LazyLoadedImage *
    getButtonBan()
    {
        return buttonBan;
    }

    static messages::LazyLoadedImage *
    getButtonTimeout()
    {
        return buttonTimeout;
    }

private:
    Resources();

    static messages::LazyLoadedImage *badgeStaff;
    static messages::LazyLoadedImage *badgeAdmin;
    static messages::LazyLoadedImage *badgeGlobalmod;
    static messages::LazyLoadedImage *badgeModerator;
    static messages::LazyLoadedImage *badgeTurbo;
    static messages::LazyLoadedImage *badgeBroadcaster;
    static messages::LazyLoadedImage *badgePremium;

    static messages::LazyLoadedImage *cheerBadge100000;
    static messages::LazyLoadedImage *cheerBadge10000;
    static messages::LazyLoadedImage *cheerBadge5000;
    static messages::LazyLoadedImage *cheerBadge1000;
    static messages::LazyLoadedImage *cheerBadge100;
    static messages::LazyLoadedImage *cheerBadge1;

    static messages::LazyLoadedImage *buttonBan;
    static messages::LazyLoadedImage *buttonTimeout;
};
}

#endif  // RESOURCES_H