import SwiftUI /// Punto de entrada principal de la aplicación MangaReader. /// /// `MangaReaderApp` es el struct raíz que conforma al protocolo `App`, /// responsable de inicializar la aplicación y configurar su ciclo de vida. /// /// # Funciones /// - Inicializa el servicio de almacenamiento compartido /// - Configura la ventana principal con `ContentView` /// - Imprime información de debug al iniciar /// /// # Example /// El app se inicializa automáticamente cuando el usuario la abre. /// No es necesario crear instancias manualmente. @main struct MangaReaderApp: App { // MARK: - Properties /// Instancia compartida del servicio de almacenamiento @StateObject private var storage = StorageService.shared // MARK: - App Lifecycle /// Configura la escena principal de la aplicación. /// /// Crea un `WindowGroup` que contiene la `ContentView` principal /// y ejecuta la configuración inicial cuando aparece. /// /// - Returns: La escena configurada de la app var body: some Scene { WindowGroup { ContentView() .onAppear { setupApp() } } } // MARK: - Setup /// Realiza la configuración inicial de la aplicación. /// /// Esta función se ejecuta cuando la vista principal aparece por primera vez. /// Imprime información de debug útil para desarrollo: /// - Confirmación de inicio /// - Ubicación del almacenamiento local /// - Tamaño total usado por descargas private func setupApp() { // Configurar app print("MangaReader iniciado") print("Storage location: \(StorageService.shared.documentsDirectory.path)") // Log storage info let storageSize = StorageService.shared.getStorageSize() print("Total storage used: \(StorageService.shared.formatFileSize(storageSize))") } }