<?php
if ( ! defined('ABSPATH') ) exit;

class Nikan_ListProductsOfferDiscount_Widget extends \Elementor\Widget_Base {

    public function get_name() {
        return 'nikan_list_products_offer_discount';
    }

    public function get_title() {
        return 'اسلایدر محصولات تخفیف‌دار';
    }

    public function get_description() {
        return 'این ویجت مخصوص نمایش محصولات تخفیف‌دار (On Sale) ووکامرس است.';
    }

    public function get_icon() {
        return 'eicon-sale';
    }

    public function get_categories() {
        return [ 'nikan' ];
    }

    public function get_keywords() {
        return [ 'nikan', 'home', 'nikanshop' ];
    }

    protected function register_controls() {
        $this->start_controls_section(
            'section_content',
            [
                'label' => 'محتوا',
                'tab'   => \Elementor\Controls_Manager::TAB_CONTENT,
            ]
        );

        $this->add_control(
            'title',
            [
                'label'       => 'عنوان',
                'type'        => \Elementor\Controls_Manager::TEXT,
                'default'     => 'محصولات تخفیف‌دار',
                'label_block' => true,
            ]
        );

        $this->add_control(
            'subtitle',
            [
                'label'       => 'زیرعنوان',
                'type'        => \Elementor\Controls_Manager::TEXT,
                'default'     => 'وقت برای خرید کوتاهه',
                'label_block' => true,
            ]
        );

        $this->add_control(
            'timer_hours',
            [
                'label'       => 'مدت تایمر (ساعت)',
                'type'        => \Elementor\Controls_Manager::NUMBER,
                'default'     => 24,
                'min'         => 1,
                'max'         => 240,
                'description' => 'بعد از اتمام، تایمر دوباره از ابتدا با همین مدت شروع می‌شود.',
            ]
        );

        $this->add_control(
            'autoplay',
            [
                'label'        => 'حرکت خودکار اسلایدر',
                'type'         => \Elementor\Controls_Manager::SWITCHER,
                'label_on'     => 'فعال',
                'label_off'    => 'خاموش',
                'return_value' => 'yes',
                'default'      => '',
            ]
        );

        $this->add_control(
            'autoplay_delay',
            [
                'label'       => 'فاصله حرکت خودکار (ثانیه)',
                'type'        => \Elementor\Controls_Manager::NUMBER,
                'default'     => 5,
                'min'         => 1,
                'max'         => 60,
                'condition'   => [ 'autoplay' => 'yes' ],
            ]
        );

        $this->end_controls_section();
    }

    protected function render() {
        $settings = $this->get_settings_for_display();
        $uid      = 'nikan-discount-' . $this->get_id();

        // Preserve exact theme markup/styles by including the extracted template part,
        // but allow key texts/behavior to be controlled from Elementor.
        $template = locate_template('template-parts/elementor/home/list-products-offer-discount.php');
        if ( $template ) {
            // variables used inside template
            $nikan_discount_settings = $settings;
            $nikan_discount_uid      = $uid;
            include $template;
            return;
        }

        // Fallback (should not happen)
        echo '<div style="padding:12px;border:1px dashed #ddd;">قالب ویجت پیدا نشد: template-parts/elementor/home/list-products-offer-discount.php</div>';
    }
}
