#ifndef ACHIEVEMENTS_TAB_HPP_
#define ACHIEVEMENTS_TAB_HPP_

#include <Entity/PhysicsEntity/CameraEntity/Player/Player.hpp>
#include <Widget/Layout/CompoundWidget/CompoundWidget.hpp>
#include <optional>
#include <AchievementFilter/AchievementFilter.hpp>

class AchievementsTab final : public CompoundWidget
{
private:
    struct State
    {
        std::optional<std::string> selectedMilestone;
        std::optional<int> selectedAchievement;
        int listScrollPos = 0;
        AchievementFilter filter;
    };

    static constexpr int maxLineWidth = 220;

    std::shared_ptr<State> state;

public:
    AchievementsTab(std::shared_ptr<Player> player);
};

#endif