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

/**
 * @file screens.h
 * @brief Unified include for all wallet screens
 * 
 * Phase 7: Component Redesign
 * 
 * This header provides access to all Material Design wallet screens:
 * - HomeScreen: Dashboard with balances and quick actions
 * - SendScreen: Material form for sending DRGX
 * - ReceiveScreen: Address cards with QR codes
 * - TransactionsScreen: Transaction history list
 * - MiningScreen: Mining controls and stats
 * - PeersScreen: Network peer information
 * - SettingsScreen: Application settings
 * - MainLayout: Full application layout with navigation
 * - ConfirmationDialog: Modal confirmations for critical actions
 * 
 * Usage:
 * @code
 * #include "ui/screens/screens.h"
 * using namespace dragonx::ui::screens;
 * 
 * // Create main layout
 * MainLayout layout;
 * 
 * // Set up data
 * BalanceInfo balance;
 * balance.total = 12345.67;
 * layout.homeScreen().setBalance(balance);
 * 
 * // Render (in main loop)
 * layout.render();
 * 
 * // Handle confirmations
 * ConfirmationDialog::instance().render();
 * @endcode
 */

#pragma once

// Material Design system
#include "../material/material.h"

// Individual screens
#include "home_screen.h"
#include "send_screen.h"
#include "receive_screen.h"
#include "transactions_screen.h"
#include "mining_screen.h"
#include "peers_screen.h"
#include "settings_screen.h"

// Main layout and navigation
#include "main_layout.h"

// Dialogs
#include "confirmation_dialog.h"

namespace dragonx {
namespace ui {
namespace screens {

/**
 * @brief Initialize all screen systems
 * 
 * Call this once at application startup to initialize
 * any global screen state.
 */
inline void InitializeScreens() {
    // Currently no global initialization needed
    // Reserved for future use
}

/**
 * @brief Shutdown all screen systems
 * 
 * Call this at application shutdown to clean up
 * any global screen state.
 */
inline void ShutdownScreens() {
    // Currently no global cleanup needed
    // Reserved for future use
}

} // namespace screens
} // namespace ui
} // namespace dragonx
