<?php

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Help Tab for FlowDino
 */
class FlowDino_WC_Help_Tab {
    
    /**
     * Constructor
     */
    public function __construct() {
        // Constructor can be used for any initialization if needed
    }
    
    /**
     * Render the help tab
     */
    public function render() {
        ?>
        <div class="flowdino-tab-content">
            <h2><?php esc_html_e('Aide du module FlowDino', 'flowdino'); ?></h2>
            
            <div class="notice notice-info">
                <p><strong><?php esc_html_e('Documentation', 'flowdino'); ?>:</strong> 
                <a href="https://www.flowdino.com/documentation" target="_blank"><?php esc_html_e('Documentation', 'flowdino'); ?></a></p>
            </div>

            <div class="flowdino-help-section">
                <h3>1. <?php esc_html_e('Settings', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Première étape : Connectez votre boutique à la plateforme FlowDino', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Si vous n\'avez pas encore de compte, cliquez sur "S\'inscrire sur FlowDino"', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Entrez votre email et mot de passe FlowDino', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Cliquez sur "Se connecter" pour établir la connexion', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>2. <?php esc_html_e('Categories', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Associez vos catégories WooCommerce aux catégories FlowDino', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Chaque catégorie WooCommerce doit être associée à une catégorie FlowDino', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Cette association est essentielle pour la synchronisation des produits', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Les produits des catégories non associées ne seront pas synchronisés', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>3. <?php esc_html_e('Colors', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Configurez l\'association des couleurs et la couleur par défaut', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Définissez une couleur par défaut qui sera utilisée quand aucune couleur spécifique n\'est trouvée', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Associez vos couleurs WooCommerce aux couleurs FlowDino correspondantes', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Cette association affecte la façon dont les couleurs des produits sont synchronisées', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>4. <?php esc_html_e('Materials', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Configurez l\'association des matériaux pour vos produits', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Associez vos matériaux WooCommerce (depuis les caractéristiques) aux matériaux FlowDino', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Cela assure une information correcte des matériaux dans FlowDino', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>5. <?php esc_html_e('Sizes', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Associez les attributs de taille entre les systèmes', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Faites correspondre vos attributs de taille WooCommerce aux tailles FlowDino', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Cette association est cruciale pour les variantes de produits', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>6. <?php esc_html_e('Brands', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Configurez l\'association des marques et la marque par défaut', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Définissez une marque par défaut pour les produits sans information de marque', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Associez vos marques WooCommerce aux marques FlowDino', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Créez de nouvelles marques directement dans FlowDino si nécessaire', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Recherchez des marques en utilisant la fonctionnalité de recherche intégrée', 'flowdino'); ?></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3>7. <?php esc_html_e('Products', 'flowdino'); ?></h3>
                <p><strong><?php esc_html_e('Gérez la synchronisation des produits avec FlowDino', 'flowdino'); ?></strong></p>
                <ul>
                    <li><?php esc_html_e('Filtrez les produits par catégorie, statut, fourchette de prix, etc.', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Sélectionnez les produits à synchroniser avec FlowDino', 'flowdino'); ?></li>
                    <li><strong><?php esc_html_e('Bandeau de synchronisation dynamique : Un bandeau apparaît lors du clic sur "Synchroniser" avec la progression en temps réel', 'flowdino'); ?></strong></li>
                    <li><strong><?php esc_html_e('Validation automatique intégrée : La conformité des produits sélectionnés est vérifiée automatiquement lors de la synchronisation', 'flowdino'); ?></strong></li>
                    <li><?php esc_html_e('Suivi de la progression et des résultats directement dans le bandeau', 'flowdino'); ?></li>
                    <li><?php esc_html_e('Affichage des erreurs et des détails directement dans le bandeau de synchronisation', 'flowdino'); ?></li>
                    <li><strong><?php esc_html_e('Option de synchronisation partielle pour les produits conformes uniquement avec confirmation', 'flowdino'); ?></strong></li>
                    <li><strong><?php esc_html_e('Interface intégrée : Plus besoin de notifications séparées, tout se passe dans le bandeau de synchronisation', 'flowdino'); ?></strong></li>
                </ul>
            </div>

            <div class="flowdino-help-section">
                <h3><?php esc_html_e('Notes importantes', 'flowdino'); ?></h3>
                <div class="flowdino-important-notes">
                    <ul>
                        <li><strong><?php esc_html_e('Toutes les associations doivent être configurées avant de synchroniser les produits', 'flowdino'); ?></strong></li>
                        <li><strong><?php esc_html_e('Les produits se synchronisent automatiquement lors de leur mise à jour dans WooCommerce', 'flowdino'); ?></strong></li>
                        <li><strong><?php esc_html_e('Les niveaux de stock sont automatiquement synchronisés', 'flowdino'); ?></strong></li>
                    </ul>
                </div>
            </div>

        </div>
        <?php
    }
    
    /**
     * Render getting started section
     */
    private function render_getting_started_section() {
        ?>
        <div class="flowdino-help-section">
            <h3><?php esc_html_e('Getting Started', 'flowdino'); ?></h3>
            <ol>
                <li>
                    <strong><?php esc_html_e('Configure your FlowDino credentials', 'flowdino'); ?></strong>
                    <p><?php esc_html_e('Go to the Settings tab and enter your FlowDino API credentials (email, password, and API URL).', 'flowdino'); ?></p>
                    <p><a href="?page=flowdino-sync&tab=settings" class="button button-small"><?php esc_html_e('Go to Settings', 'flowdino'); ?></a></p>
                </li>
                <li>
                    <strong><?php esc_html_e('Test your connection', 'flowdino'); ?></strong>
                    <p><?php esc_html_e('Use the Settings tab to test that your credentials are working properly.', 'flowdino'); ?></p>
                    <p><a href="?page=flowdino-sync&tab=settings" class="button button-small"><?php esc_html_e('Go to Settings', 'flowdino'); ?></a></p>
                </li>
                <li>
                    <strong><?php esc_html_e('Map your categories', 'flowdino'); ?></strong>
                    <p><?php esc_html_e('Map your WooCommerce categories to FlowDino categories to enable proper product synchronization.', 'flowdino'); ?></p>
                    <p><a href="?page=flowdino-sync&tab=categories" class="button button-small"><?php esc_html_e('Map Categories', 'flowdino'); ?></a></p>
                </li>
                <li>
                    <strong><?php esc_html_e('Configure attribute mappings', 'flowdino'); ?></strong>
                    <p><?php esc_html_e('Map your product attributes (brands, colors, materials, sizes) for complete synchronization.', 'flowdino'); ?></p>
                </li>
                <li>
                    <strong><?php esc_html_e('Sync your products', 'flowdino'); ?></strong>
                    <p><?php esc_html_e('Enable auto-sync or manually sync products using the Products tab.', 'flowdino'); ?></p>
                    <p><a href="?page=flowdino-sync&tab=products" class="button button-small"><?php esc_html_e('Manage Products', 'flowdino'); ?></a></p>
                </li>
            </ol>
        </div>
        <?php
    }
    
    /**
     * Render features section
     */
    private function render_features_section() {
        ?>
        <div class="flowdino-help-section">
            <h3><?php esc_html_e('Available Features', 'flowdino'); ?></h3>
            <div class="flowdino-features-grid">
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Settings & Connection', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Configure API credentials, test connections, auto-sync options, and default values.', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Product Synchronization', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Complete product sync with status tracking, bulk actions, and error reporting.', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Category Mapping', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Hierarchical category mapping with search functionality and full path display.', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Brand Mapping', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Map WooCommerce brands to FlowDino brands with real-time search.', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Color Mapping', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Advanced color attribute mapping with multi-taxonomy support.', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Material Mapping', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Material attribute mapping with multilingual support (English/French).', 'flowdino'); ?></p>
                </div>
                
                <div class="feature-item">
                    <h4>✅ <?php esc_html_e('Size Mapping Interface', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Complete size mapping interface ready for FlowDino size API integration.', 'flowdino'); ?></p>
                </div>
            </div>
        </div>
        
        </div>
        <?php
    }
    
    /**
     * Render troubleshooting section
     */
    private function render_troubleshooting_section() {
        ?>
        <div class="flowdino-help-section">
            <h3><?php esc_html_e('Troubleshooting', 'flowdino'); ?></h3>
            
            <div class="flowdino-troubleshooting">
                <h4><?php esc_html_e('Common Issues', 'flowdino'); ?></h4>
                
                <div class="trouble-item">
                    <h5><?php esc_html_e('Connection Failed', 'flowdino'); ?></h5>
                    <ul>
                        <li><?php esc_html_e('Verify your FlowDino credentials are correct', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Check that your server can reach the FlowDino API', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Ensure the API URL is correct (default: https://www.flowdino.com)', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Check your server\'s SSL configuration', 'flowdino'); ?></li>
                    </ul>
                </div>
                
                <div class="trouble-item">
                    <h5><?php esc_html_e('Products Not Syncing', 'flowdino'); ?></h5>
                    <ul>
                        <li><?php esc_html_e('Ensure categories are properly mapped', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Check that products have the required attributes', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Verify the product status is "Published"', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Check the error logs for detailed information', 'flowdino'); ?></li>
                    </ul>
                </div>
                
                <div class="trouble-item">
                    <h5><?php esc_html_e('Categories Not Loading', 'flowdino'); ?></h5>
                    <ul>
                        <li><?php esc_html_e('Test your connection first', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Ensure you have categories configured in your FlowDino account', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Check your FlowDino account permissions', 'flowdino'); ?></li>
                    </ul>
                </div>
                
                <div class="trouble-item">
                    <h5><?php esc_html_e('Performance Issues', 'flowdino'); ?></h5>
                    <ul>
                        <li><?php esc_html_e('Use "Sync Pending Products" instead of "Sync All Products" for large catalogs', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Consider increasing PHP memory limit and execution time', 'flowdino'); ?></li>
                        <li><?php esc_html_e('Enable auto-sync for real-time updates instead of bulk operations', 'flowdino'); ?></li>
                    </ul>
                </div>
            </div>
        </div>
        
        </div>
        <?php
    }
    
    /**
     * Render support section
     */
    private function render_support_section() {
        ?>
        <div class="flowdino-help-section">
            <h3><?php esc_html_e('Support', 'flowdino'); ?></h3>
            <div class="flowdino-support-info">
                <div class="support-item">
                    <h4><?php esc_html_e('Technical Support', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('For technical support and bug reports, please contact:', 'flowdino'); ?></p>
                    <p><a href="mailto:support@flowdino.com" class="button">support@flowdino.com</a></p>
                </div>
                
                <div class="support-item">
                    <h4><?php esc_html_e('Documentation', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('Visit our website for additional documentation and tutorials:', 'flowdino'); ?></p>
                    <p><a href="https://www.flowdino.com" target="_blank" class="button">flowdino.com</a></p>
                </div>
                
                <div class="support-item">
                    <h4><?php esc_html_e('Debug Information', 'flowdino'); ?></h4>
                    <p><?php esc_html_e('When reporting issues, please include:', 'flowdino'); ?></p>
                    <ul>
                        <li><?php esc_html_e('WordPress version', 'flowdino'); ?>: <?php echo esc_html(get_bloginfo('version')); ?></li>
                        <li><?php esc_html_e('WooCommerce version', 'flowdino'); ?>: <?php echo defined('WC_VERSION') ? esc_html(WC_VERSION) : esc_html(__('Not installed', 'flowdino')); ?></li>
                        <li><?php esc_html_e('Plugin version', 'flowdino'); ?>: <?php echo defined('FLOWDINO_VERSION') ? esc_html(FLOWDINO_VERSION) : '1.0.0'; ?></li>
                        <li><?php esc_html_e('PHP version', 'flowdino'); ?>: <?php echo esc_html(PHP_VERSION); ?></li>
                        <li><?php esc_html_e('Error logs from the WordPress debug log', 'flowdino'); ?></li>
                    </ul>
                </div>
            </div>
        </div>
        
        </div>
        <?php
    }
    
    /**
     * Render plugin information section
     */
    private function render_plugin_information() {
        ?>
        <div class="flowdino-help-section">
            <h3><?php esc_html_e('Plugin Information', 'flowdino'); ?></h3>
            <table class="wp-list-table widefat fixed striped" style="max-width: 600px;">
                <tbody>
                    <tr>
                        <td><strong><?php esc_html_e('Plugin Name', 'flowdino'); ?></strong></td>
                        <td><?php esc_html_e('FlowDino WooCommerce Integration', 'flowdino'); ?></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('Version', 'flowdino'); ?></strong></td>
                        <td><?php echo defined('FLOWDINO_VERSION') ? esc_html(FLOWDINO_VERSION) : '1.0.0'; ?></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('Author', 'flowdino'); ?></strong></td>
                        <td>Jeremy DUMONT</td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('Website', 'flowdino'); ?></strong></td>
                        <td><a href="https://www.flowdino.com" target="_blank">flowdino.com</a></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('WordPress Version', 'flowdino'); ?></strong></td>
                        <td><?php echo esc_html(get_bloginfo('version')); ?></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('WooCommerce Version', 'flowdino'); ?></strong></td>
                        <td><?php echo defined('WC_VERSION') ? esc_html(WC_VERSION) : esc_html(__('Not installed', 'flowdino')); ?></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('PHP Version', 'flowdino'); ?></strong></td>
                        <td><?php echo esc_html(PHP_VERSION); ?></td>
                    </tr>
                    <tr>
                        <td><strong><?php esc_html_e('Installation Date', 'flowdino'); ?></strong></td>
                        <td>
                            <?php 
                            $install_date = get_option('flowdino_wc_install_date');
                            if ($install_date) {
                                echo esc_html(date_i18n(get_option('date_format'), strtotime($install_date)));
                            } else {
                                esc_html_e('Unknown', 'flowdino');
                            }
                            ?>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
        
        </div>
        <?php
    }
}
