#pragma once

#include <array>
#include <string_view>

namespace ta::adapters::eft::traders
{
    struct Trader
    {
        const char* id;
        const char* display_name;
    };

    inline constexpr std::array<Trader, 10> all = {{
        {"638f541a29ffd1183d187f57", "Lightkeeper"},
        {"5ac3b934156ae10c4430e83c", "Ragman"},
        {"6617beeaa9cfa777ca915b7c", "Ref"},
        {"5935c25fb3acc3127c3d8cd9", "Peacekeeper"},
        {"58330581ace78e27b8b10cee", "Skier"},
        {"54cb50c76803fa8b248b4571", "Prapor"},
        {"5c0647fdd443bc2504c2d371", "Jaeger"},
        {"5a7c2eca46aef81a7ca2145d", "Mechanic"},
        {"54cb57776803fa99248b456e", "Therapist"},
        {"656f0f98d80a697f855d34b1", "BTR"}
    }};

    [[nodiscard]] inline const char* display_name(const std::string_view id) noexcept
    {
        for (const Trader& trader : all)
        {
            if (id == trader.id)
                return trader.display_name;
        }
        return nullptr;
    }
}
