// DragonX Wallet - ImGui Edition
// Copyright 2024-2026 The Hush Developers
// Released under the GPLv3

#pragma once

#include <string>

namespace dragonx {
class App;

namespace ui {

/**
 * @brief Render the Send tab
 * Form for sending transactions
 */
void RenderSendTab(App* app);

/**
 * @brief Render the send-confirm modal popup.
 * Must be called at the top-level window scope (after ImGui::End of the main
 * window) so the modal dim layer blocks ALL input — sidebar, tabs, etc.
 */
void RenderSendConfirmPopup(App* app);

/**
 * @brief Debug/screenshot-sweep hook: force the send-confirm popup open with demo values (show=true)
 *        or close it (show=false). The popup's state lives in send_tab file statics, so this hook is
 *        the only way an external driver (the full UI sweep) can reveal it. Fires no send.
 */
void SweepShowSendConfirm(App* app, bool show);

/**
 * @brief Pre-fill the "from" address in the send tab
 * @param address The address to send from
 */
void SetSendFromAddress(const std::string& address);

} // namespace ui
} // namespace dragonx
