<?php
/**
 * Handles plugin settings and options
 */

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

class HVAC_Settings {
    public function __construct() {
        add_action('admin_menu', array($this, 'add_admin_menu'));
        add_action('admin_init', array($this, 'register_settings'));
    }

    public function add_admin_menu() {
        // Add main menu page
        add_menu_page(
            __('HVAC Community Events', 'hvac-ce'),
            __('HVAC Community Events', 'hvac-ce'),
            'manage_options',
            'hvac-community-events',
            array($this, 'options_page'),
            'dashicons-calendar-alt',
            30
        );
        
        // Add settings submenu
        add_submenu_page(
            'hvac-community-events',
            __('Settings', 'hvac-ce'),
            __('Settings', 'hvac-ce'),
            'manage_options',
            'hvac-community-events',
            array($this, 'options_page')
        );
        
        // Add dashboard submenu
        add_submenu_page(
            'hvac-community-events',
            __('Dashboard', 'hvac-ce'),
            __('Dashboard', 'hvac-ce'),
            'manage_options',
            'hvac-ce-dashboard',
            array($this, 'dashboard_page')
        );
        
        // Add trainer login link submenu
        $community_login_url = home_url('community-login');
        add_submenu_page(
            'hvac-community-events',
            __('Trainer Login', 'hvac-ce'),
            __('Trainer Login', 'hvac-ce'),
            'manage_options',
            $community_login_url,
            null
        );
    }

    public function register_settings() {
        register_setting('hvac_ce_options', 'hvac_ce_options');
        
        add_settings_section(
            'hvac_ce_main',
            __('HVAC Community Events Settings', 'hvac-ce'),
            array($this, 'settings_section_callback'),
            'hvac-ce'
        );

        add_settings_field(
            'notification_emails',
            __('Trainer Notification Emails', 'hvac-ce'),
            array($this, 'notification_emails_callback'),
            'hvac-ce',
            'hvac_ce_main'
        );
    }

    public function settings_section_callback() {
        echo '<p>' . __('Configure settings for HVAC Community Events', 'hvac-ce') . '</p>';
    }

    public function notification_emails_callback() {
        $options = get_option('hvac_ce_options');
        echo '<input type="text" name="hvac_ce_options[notification_emails]" value="' . 
             esc_attr($options['notification_emails'] ?? '') . '" class="regular-text">';
        echo '<p class="description">' . 
             __('Comma-separated list of emails to notify when new trainers register', 'hvac-ce') . '</p>';
    }

    public function options_page() {
        ?>
        <div class="wrap">
            <h1><?php esc_html_e('HVAC Community Events Settings', 'hvac-ce'); ?></h1>
            <form method="post" action="options.php">
                <?php
                settings_fields('hvac_ce_options');
                do_settings_sections('hvac-ce');
                submit_button();
                ?>
            </form>
        </div>
        <?php
    }
    
    /**
     * Dashboard page callback
     */
    public function dashboard_page() {
        // Load the admin dashboard class
        if (!class_exists('HVAC_Admin_Dashboard')) {
            require_once HVAC_CE_PLUGIN_DIR . 'includes/admin/class-admin-dashboard.php';
        }
        
        $dashboard = new HVAC_Admin_Dashboard();
        $dashboard->render_page();
    }
}