#pragma once

#include "imgui.h"

#include <cstdint>
#include <string>
#include <vector>

namespace dragonx {
namespace ui {

std::string TrId(const char* trKey, const char* id);
bool containsIgnoreCase(const std::string& value, const std::string& search);
std::string timeAgo(int64_t timestamp);
std::string truncateAddress(const std::string& address, int maxLen = 32);
ImU32 recentTxIconColor(const std::string& type);
ImU32 recentTxAmountColor(const std::string& type);
std::string formatRecentTxAmount(const std::string& type, double amount);

void DrawTxIcon(ImDrawList* drawList, const std::string& type,
                float centerX, float centerY, float size, ImU32 color);
void DrawSparkline(ImDrawList* drawList, const ImVec2& min, const ImVec2& max,
                   const std::vector<double>& data, ImU32 color,
                   float thickness = 1.5f);

} // namespace ui
} // namespace dragonx
