<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
<?php

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

class MYEA_Hero_Slider_Widget extends \Elementor\Widget_Base {

    public function get_name() {
        return 'myea_hero_slider';
    }

    public function get_title() {
        return 'TG Hero Slider';
    }

    public function get_icon() {
        return 'eicon-slideshow';
    }

    public function get_categories() {
        return [ 'general' ];
    }

    protected function register_controls() {

        $this->start_controls_section(
            'section_slides',
            [
                'label' => 'Slides',
                'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
            ]
        );

        $repeater = new \Elementor\Repeater();

        $repeater->add_control(
            'slide_image',
            [
                'label' => 'Slider Background',
                'type' => \Elementor\Controls_Manager::MEDIA,
                'default' => [
                    'url' => \Elementor\Utils::get_placeholder_image_src(),
                ],
            ]
        );

        $repeater->add_control(
            'slide_title',
            [
                'label' => 'Title',
                'type' => \Elementor\Controls_Manager::TEXTAREA,
                'default' => 'Slider Title Here',
            ]
        );

        $repeater->add_control(
            'slide_content',
            [
                'label' => 'Content',
                'type' => \Elementor\Controls_Manager::TEXTAREA,
                'default' => 'Slider description goes here.',
            ]
        );

        $repeater->add_control(
            'button_text',
            [
                'label' => 'Button Text',
                'type' => \Elementor\Controls_Manager::TEXT,
                'default' => 'Read More',
            ]
        );

        $repeater->add_control(
            'button_link',
            [
                'label' => 'Button Link',
                'type' => \Elementor\Controls_Manager::URL,
                'placeholder' => 'https://your-link.com',
            ]
        );

        $this->add_control(
            'slides',
            [
                'label' => 'Slide Items',
                'type' => \Elementor\Controls_Manager::REPEATER,
                'fields' => $repeater->get_controls(),
                'default' => [
                    [
                        'slide_title' => 'Innovative Solutions for Your Business',
                        'slide_content' => 'We provide the best strategy to grow your business.',
                        'button_text' => 'Start a Course',
                    ],
                ],
                'title_field' => '{{{ slide_title }}}',
            ]
        );

        $this->end_controls_section();
    }

    protected function render() {
        $settings = $this->get_settings_for_display();

        if ( empty( $settings['slides'] ) ) {
            return;
        }
        ?>
        <div class="slider1-area overlay-default index1">
            <div class="bend niceties preview-1">
                
                <div id="ensign-nivoslider-3" class="slides">
                    <?php foreach ( $settings['slides'] as $index => $slide ) : 
                        $slide_number = $index + 1;
                        $image_url = !empty($slide['slide_image']['url']) ? $slide['slide_image']['url'] : '';
                    ?>
                        <img src="<?php echo esc_url($image_url); ?>" alt="slider" title="#slider-direction-<?php echo $slide_number; ?>" />
                    <?php endforeach; ?>
                </div>

                <?php foreach ( $settings['slides'] as $index => $slide ) : 
                    $slide_number = $index + 1;
                    
                    $link_key = 'button_link_' . $index;
                    if ( ! empty( $slide['button_link']['url'] ) ) {
                        $this->add_link_attributes( $link_key, $slide['button_link'] );
                    }
                ?>
                    <div id="slider-direction-<?php echo $slide_number; ?>" class="t-cn slider-direction">
                        <div class="slider-content s-tb slide-<?php echo $slide_number; ?>">
                            <div class="title-container s-tb-c">
                                
                                <?php if ( ! empty( $slide['slide_title'] ) ) : ?>
                                    <div class="title1"><?php echo wp_kses_post( $slide['slide_title'] ); ?></div>
                                <?php endif; ?>

                                <?php if ( ! empty( $slide['slide_content'] ) ) : ?>
                                    <p><?php echo wp_kses_post( $slide['slide_content'] ); ?></p>
                                <?php endif; ?>

                                <?php if ( ! empty( $slide['button_text'] ) ) : ?>
                                    <div class="slider-btn-area">
                                        <a <?php echo $this->get_render_attribute_string( $link_key ); ?> class="default-big-btn">
                                            <?php echo esc_html( $slide['button_text'] ); ?>
                                        </a>
                                    </div>
                                <?php endif; ?>

                            </div>
                        </div>
                    </div>
                <?php endforeach; ?>

            </div>
        </div>
        <?php
    }
}