#pragma once

#include "inspector/item_types.hpp"
#include "native_ui/ui_types.hpp"

#include <string>
#include <vector>

namespace poe2::ui {

struct TooltipLine {
    std::string text;
    Color color{colors::White};
    bool isBold{false};
    bool isSeparator{false};
};

struct TooltipLayout {
    Rect bounds;
    std::vector<TooltipLine> lines;
    bool hasBrickAlert{false};
    Color headerColor{colors::White};
    Color borderColor{colors::GoldBorder};
};

class TooltipView {
public:
    /// @brief Xây dựng cấu trúc bố cục và tính toán vị trí hiển thị tooltip công thái học
    static TooltipLayout BuildLayout(
        const inspector::ItemInspectionReport& report,
        int cursorX,
        int cursorY,
        int screenW,
        int screenH
    );
};

} // namespace poe2::ui
