"""
MiniMax UI Package

This package contains Textual-based terminal user interface components for MiniMax.
Provides rich, interactive TUI experiences for chat, analysis, and other operations.
"""

# Import with error handling for optional Textual dependency
try:
    from .app import MiniMaxApp
    try:
        from .screens import (
            ChatScreen,
            AnalyzeScreen,
            GenerateScreen,
            EditScreen,
            ProjectScreen,
        )
    except (ImportError, AttributeError) as e:
        # If screens fail to import, create placeholder classes
        class ChatScreen:
            def __init__(self, *args, **kwargs):
                raise ImportError(f"Screen import failed: {e}")
        class AnalyzeScreen:
            def __init__(self, *args, **kwargs):
                raise ImportError(f"Screen import failed: {e}")
        class GenerateScreen:
            def __init__(self, *args, **kwargs):
                raise ImportError(f"Screen import failed: {e}")
        class EditScreen:
            def __init__(self, *args, **kwargs):
                raise ImportError(f"Screen import failed: {e}")
        class ProjectScreen:
            def __init__(self, *args, **kwargs):
                raise ImportError(f"Screen import failed: {e}")

    # Flag to indicate Textual UI is available
    TEXTUAL_AVAILABLE = True
    
except ImportError:
    # Textual not installed - create placeholder classes
    class MiniMaxApp:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    class ChatScreen:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    class AnalyzeScreen:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    class GenerateScreen:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    class EditScreen:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    class ProjectScreen:
        def __init__(self, *args, **kwargs):
            raise ImportError(
                "Textual is required for TUI mode. Install with: pip install minimax-client[ui]"
            )
    
    TEXTUAL_AVAILABLE = False

# Public API exports
__all__ = [
    "MiniMaxApp",
    "ChatScreen", 
    "AnalyzeScreen",
    "GenerateScreen",
    "EditScreen",
    "ProjectScreen",
    "TEXTUAL_AVAILABLE",
]