<?php

declare(strict_types=1);

namespace App\Framework\Console;

/**
 * TUI View States für die interaktive Console
 */
enum TuiView: string
{
    case CATEGORIES = 'categories';
    case COMMANDS = 'commands';
    case SEARCH = 'search';
    case HISTORY = 'history';
    case FORM = 'form';
    case DASHBOARD = 'dashboard';
    case HELP = 'help';
    case WORKFLOWS = 'workflows';
    case WORKFLOW_PROGRESS = 'workflow_progress';

    /**
     * Get display title for the view
     */
    public function getTitle(): string
    {
        return match($this) {
            self::CATEGORIES => 'Console Categories',
            self::COMMANDS => 'Available Commands',
            self::SEARCH => 'Search Commands',
            self::HISTORY => 'Command History & Favorites',
            self::FORM => 'Command Parameters',
            self::DASHBOARD => 'Framework Dashboard',
            self::HELP => 'Help & Information',
            self::WORKFLOWS => 'Command Workflows',
            self::WORKFLOW_PROGRESS => 'Workflow Execution',
        };
    }

    /**
     * Get the icon for the view
     */
    public function getIcon(): string
    {
        return match($this) {
            self::CATEGORIES => '📂',
            self::COMMANDS => '⚡',
            self::SEARCH => '🔍',
            self::HISTORY => '⏱️',
            self::FORM => '📝',
            self::DASHBOARD => '📊',
            self::HELP => '❓',
            self::WORKFLOWS => '🔄',
            self::WORKFLOW_PROGRESS => '⏳',
        };
    }
}
