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

class Vista_Education_Widget extends \Elementor\Widget_Base {

	public function get_name() {
		return 'vista-education';
	}

	public function get_title() {
		return esc_html__( 'گواهینامه‌ها', 'vista' );
	}

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

	public function get_categories() {
		return [ 'vista-widgets' ];
	}

	public function get_keywords() {
		return [ 'education', 'course', 'certificate', 'تحصیل', 'دوره', 'مدرک' ];
	}

	protected function register_controls() {

		
		$this->start_controls_section( 'section_items', [
			'label' => esc_html__( 'موارد تحصیلی', 'vista' ),
			'tab'   => \Elementor\Controls_Manager::TAB_CONTENT,
		] );

		$repeater = new \Elementor\Repeater();

		$repeater->add_control( 'edu_icon', [
			'label'   => esc_html__( 'آیکون', 'vista' ),
			'type'    => \Elementor\Controls_Manager::ICONS,
			'default' => [ 'value' => 'fas fa-graduation-cap', 'library' => 'fa-solid' ],
		] );

		$repeater->add_control( 'degree_title', [
			'label'   => esc_html__( 'عنوان مدرک / دوره', 'vista' ),
			'type'    => \Elementor\Controls_Manager::TEXT,
			'default' => 'کارشناسی مهندسی کامپیوتر',
		] );

		$repeater->add_control( 'institution', [
			'label'   => esc_html__( 'نام دانشگاه / موسسه', 'vista' ),
			'type'    => \Elementor\Controls_Manager::TEXT,
			'default' => 'دانشگاه تهران · University of Tehran',
		] );

		$repeater->add_control( 'date_range', [
			'label'   => esc_html__( 'بازه زمانی', 'vista' ),
			'type'    => \Elementor\Controls_Manager::TEXT,
			'default' => '2016 — 2020',
		] );

		$repeater->add_control( 'badge', [
			'label'   => esc_html__( 'بج / درجه', 'vista' ),
			'type'    => \Elementor\Controls_Manager::TEXT,
			'default' => 'B.Sc',
		] );

		$repeater->add_control( 'badge_icon', [
			'label'   => esc_html__( 'آیکون بج', 'vista' ),
			'type'    => \Elementor\Controls_Manager::ICONS,
			'default' => [ 'value' => 'fas fa-medal', 'library' => 'fa-solid' ],
		] );

		$repeater->add_control( 'description', [
			'label'   => esc_html__( 'توضیحات', 'vista' ),
			'type'    => \Elementor\Controls_Manager::TEXTAREA,
			'default' => 'گرایش نرم‌افزار، پایان‌نامه در حوزه رابط کاربری هوشمند و تجربه کاربری.',
			'rows'    => 3,
		] );

		$this->add_control( 'edu_list', [
			'label'       => esc_html__( 'لیست تحصیلات', 'vista' ),
			'type'        => \Elementor\Controls_Manager::REPEATER,
			'fields'      => $repeater->get_controls(),
			'default'     => [
				[
					'edu_icon'     => [ 'value' => 'fas fa-graduation-cap', 'library' => 'fa-solid' ],
					'degree_title' => 'کارشناسی مهندسی کامپیوتر',
					'institution'  => 'دانشگاه تهران · University of Tehran',
					'date_range'   => '2016 — 2020',
					'badge'        => 'B.Sc',
					'description'  => 'گرایش نرم‌افزار، پایان‌نامه در حوزه رابط کاربری هوشمند.',
				],
			],
			'title_field' => '{{{ degree_title }}}',
		] );

		$this->end_controls_section();

		$this->start_controls_section( 'section_style_content', [
			'label' => esc_html__( 'استایل محتوا', 'vista' ),
			'tab'   => \Elementor\Controls_Manager::TAB_STYLE,
		] );

		$this->add_group_control(
			\Elementor\Group_Control_Typography::get_type(),
			[
				'name'     => 'title_typography',
				'label'    => esc_html__( 'تایپوگرافی عنوان', 'vista' ),
				'selector' => '{{WRAPPER}} .edu-degree',
			]
		);

		$this->end_controls_section();
	}

	protected function render() {
		$settings = $this->get_settings_for_display();
		$delays   = [ '', 'rd1', 'rd2', 'rd3', 'rd4' ];
		?>
		<div class="vista-education-wrap">
			<div class="edu-timeline">
				<?php foreach ( $settings['edu_list'] as $i => $item ) :
					$delay = $delays[ $i % 5 ];
				?>
				<div class="edu-card reveal <?php echo esc_attr( $delay ); ?>">
					<div class="edu-icon-col"><?php \Elementor\Icons_Manager::render_icon( $item['edu_icon'], [ 'aria-hidden' => 'true' ] ); ?></div>
					<div class="edu-body">
						<div class="edu-degree"><?php echo esc_html( $item['degree_title'] ); ?></div>
						<div class="edu-school"><i class="fa-solid fa-building-columns"></i> <?php echo esc_html( $item['institution'] ); ?></div>
						<?php if ( $item['description'] ) : ?><div class="edu-desc"><?php echo esc_html( $item['description'] ); ?></div><?php endif; ?>
					</div>
					<div class="edu-right">
						<div class="edu-year"><?php echo esc_html( $item['date_range'] ); ?></div>
						<?php if ( $item['badge'] ) : ?>
						<div class="edu-badge">
							<?php if ( ! empty( $item['badge_icon']['value'] ) ) : \Elementor\Icons_Manager::render_icon( $item['badge_icon'], [ 'aria-hidden' => 'true', 'style' => 'color:var(--p)' ] ); endif; ?>
							<?php echo esc_html( $item['badge'] ); ?>
						</div>
						<?php endif; ?>
					</div>
				</div>
				<?php endforeach; ?>
			</div>
		</div>
		<?php
	}

	protected function content_template() {
		?>
		<#
		var items = settings.edu_list || [];
		#>
		<div class="vista-education-wrap">
			<div class="edu-timeline">
				<# _.each( items, function( item ) {
					var icon_val = item.edu_icon && item.edu_icon.value ? item.edu_icon.value : 'fas fa-graduation-cap';
					var badge_icon = item.badge_icon && item.badge_icon.value ? item.badge_icon.value : '';
				#>
				<div class="edu-card on">
					<div class="edu-icon-col"><i class="{{ icon_val }}" aria-hidden="true"></i></div>
					<div class="edu-body">
						<div class="edu-degree">{{ item.degree_title }}</div>
						<div class="edu-school"><i class="fa-solid fa-building-columns"></i> {{ item.institution }}</div>
						<# if ( item.description ) { #><div class="edu-desc">{{ item.description }}</div><# } #>
					</div>
					<div class="edu-right">
						<div class="edu-year">{{ item.date_range }}</div>
						<# if ( item.badge ) { #>
						<div class="edu-badge">
							<# if ( badge_icon ) { #><i class="{{ badge_icon }}" style="color:var(--p,#00B894)"></i><# } #>
							{{ item.badge }}
						</div>
						<# } #>
					</div>
				</div>
				<# }); #>
			</div>
		</div>
		<?php
	}
}