// DragonX Wallet - ImGui Edition // Copyright 2024-2026 The Hush Developers // Released under the GPLv3 #pragma once namespace dragonx { class App; namespace ui { /** * @brief Render the Contacts tab (the address book, promoted out of Settings). * * Doubles as the future chat roster. Reads/writes the App-owned AddressBook * (App::addressBook()). Renders inline in the main content area; the add/edit * form is a modal popup layered over the tab. * * @param app Pointer to the app instance. */ void RenderContactsTab(App* app); // True if an animated avatar frame was drawn since the previous call (clear-on-read). The main render // loop uses this to keep drawing while an avatar animation plays, then idle when it stops. bool ConsumeContactsAvatarAnimation(); // UI-sweep ONLY: open the revamped add/edit dialog on a seeded demo contact, in the given avatar // mode (0 = badge, 1 = icon, 2 = image), so the sweep can capture the preview + avatar picker. // Pair with ContactsSweepCloseDialog(). Do not use outside the sweep. void ContactsSweepOpenEditDialog(int avatarMode); void ContactsSweepCloseDialog(); } // namespace ui } // namespace dragonx