// DragonX Wallet - ImGui Edition // Copyright 2024-2026 The Hush Developers // Released under the GPLv3 #pragma once #include #include namespace dragonx { class App; namespace ui { /** * @brief Dialog showing a large QR code for an address */ class QRPopupDialog { public: /** * @brief Show the dialog for an address * @param address The address to display as QR * @param label Optional label for the address */ static void show(const std::string& address, const std::string& label = ""); /** * @brief Render the dialog (call every frame) * @param app Pointer to app instance */ static void render(App* app); /** * @brief Check if dialog is currently open */ static bool isOpen(); /** * @brief Close the dialog and cleanup */ static void close(); private: static bool s_open; static std::string s_address; static std::string s_label; static uintptr_t s_qr_texture; static int s_qr_width; static int s_qr_height; }; } // namespace ui } // namespace dragonx