<?php
/**
 * Public-facing functionality
 *
 * @package MT_License_Manager
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

class MT_License_Manager_Public {

    public function __construct() {
        add_filter( 'woocommerce_available_variation', array( $this, 'add_variation_details' ), 10, 3 );
    }

    public function enqueue_styles() {
        if ( is_account_page() || is_product() || is_cart() || is_checkout() ) {
            wp_enqueue_style( 'mt-lm-public-styles',
                MT_LICENSE_MANAGER_PLUGIN_URL . 'public/css/public-styles.css',
                array(), MT_LICENSE_MANAGER_VERSION
            );
        }
    }

    public function enqueue_scripts() {
        if ( is_account_page() || is_product() ) {
            wp_enqueue_script( 'mt-lm-public-scripts',
                MT_LICENSE_MANAGER_PLUGIN_URL . 'public/js/public-scripts.js',
                array( 'jquery' ), MT_LICENSE_MANAGER_VERSION, true
            );
            wp_localize_script( 'mt-lm-public-scripts', 'mtLmPublic', array(
                'ajax_url' => admin_url( 'admin-ajax.php' ),
                'nonce'    => wp_create_nonce( 'mt_lm_public_nonce' ),
            ) );
        }
    }

    /**
     * Add plan details to variation dropdown
     */
    public function add_variation_details( $data, $product, $variation ) {

        $plan_id = $variation->get_meta( '_mt_plan_id' );
        if ( ! $plan_id ) return $data;

        $real_limit = $variation->get_meta( '_mt_real_limit' );
        $demo_limit = $variation->get_meta( '_mt_demo_limit' );
        $duration   = $variation->get_meta( '_mt_duration_days' );
        $plan_name  = $variation->get_meta( '_mt_plan_name' );

        $real_text = $real_limit == -1 ? 'Unlimited' : $real_limit;
        $demo_text = $demo_limit == -1 ? 'Unlimited' : $demo_limit;
        $dur_text  = intval( $duration ) >= 36500 ? 'Lifetime' : $duration . ' Days';

        $data['variation_description'] =
            '<div class="mt-lm-var-box">' .
                '<div class="mt-lm-var-title">📋 ' . esc_html( $plan_name ) . '</div>' .
                '<div class="mt-lm-var-grid">' .
                    '<div class="mt-lm-var-item">' .
                        '<span class="mt-lm-var-icon">💰</span>' .
                        '<div><span class="mt-lm-var-label">Real Accounts</span>' .
                        '<span class="mt-lm-var-val">' . esc_html( $real_text ) . '</span></div>' .
                    '</div>' .
                    '<div class="mt-lm-var-item">' .
                        '<span class="mt-lm-var-icon">🧪</span>' .
                        '<div><span class="mt-lm-var-label">Demo Accounts</span>' .
                        '<span class="mt-lm-var-val">' . esc_html( $demo_text ) . '</span></div>' .
                    '</div>' .
                    '<div class="mt-lm-var-item">' .
                        '<span class="mt-lm-var-icon">📅</span>' .
                        '<div><span class="mt-lm-var-label">Duration</span>' .
                        '<span class="mt-lm-var-val">' . esc_html( $dur_text ) . '</span></div>' .
                    '</div>' .
                '</div>' .
            '</div>';

        return $data;
    }
}