Files
ObsidianDragon/src/ui/windows/balance_tab_helpers.h
DanS 9edab31728 Refactor app services and stabilize refresh/UI flows
- Add refresh scheduler and network refresh service boundaries for typed
  refresh results, ordered RPC collectors, applicators, and price parsing.
- Add daemon lifecycle and wallet security workflow helpers while preserving
  App-owned command RPC, decrypt, cancellation, and UI handoff behavior.
- Split balance, console, mining, amount formatting, and async task logic into
  focused modules with expanded Phase 4 test coverage.
- Fix market price loading by triggering price refresh immediately, avoiding
  queue-pressure drops, tracking loading/error state, and adding translations.
- Polish send, explorer, peers, settings, theme/schema, and related tab UI.
- Replace checked-in generated language headers with build-generated resources.
- Document the cleanup audit, UI static-state guidance, and architecture updates.
2026-04-29 12:47:57 -05:00

28 lines
913 B
C++

#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