<?php 

//Classic Editor
add_filter('use_block_editor_for_post', '__return_false');

add_action('wp_enqueue_scripts', 'enqueue_vmg_script');
function enqueue_vmg_script() {
    // Đảm bảo script của parent theme được load trước
    wp_enqueue_script(
        'vmg-js',
        get_stylesheet_directory_uri() . '/vmg.js', // đường dẫn trong child theme
        array('jquery'), // phụ thuộc jQuery (nếu cần)
        filemtime(get_stylesheet_directory() . '/vmg.js'), // tự động cập nhật version khi file thay đổi
        true // load ở footer
    );
}

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
		'page_title'	=> 'Hệ thống Showroom',
        'menu_title'    => 'Hệ thống Showroom',
		'menu_slug'		=>	'he-thong-showroom',
        'capability'    => 'edit_posts',
        'redirect'      => false
    ));
}
// Hàm hiển thị showroom theo miền
function render_showroom_region($field_key, $region_label) {
    ob_start();

    if( have_rows($field_key, 'option') ):
        echo '<div class="showroom-wrapper">';
        echo '<div class="showroom-grid">';

        $count = 0;
        while( have_rows($field_key, 'option') ): the_row();
            $count++;
            $ten_showroom = get_sub_field('ten_showroom');
            $anh_dai_dien = get_sub_field('anh_dai_dien');
            $dia_chi = get_sub_field('dia_chi');
            $sdt = get_sub_field('sdt');

            // Nếu ảnh là ID thì lấy URL
            if( !empty($anh_dai_dien) && is_numeric($anh_dai_dien) ) {
                $src = wp_get_attachment_image_url($anh_dai_dien, 'large');
                $alt = get_post_meta($anh_dai_dien, '_wp_attachment_image_alt', true);
                $anh_dai_dien = ['url' => $src, 'alt' => $alt];
            }

            // Ẩn tất cả showroom ngoài 6 cái đầu
            $hidden_class = $count > 6 ? ' hidden' : '';
            ?>
            <div class="showroom-item<?php echo $hidden_class; ?>">
                <span class="showroom-region"><?php echo esc_html($region_label); ?></span>
                <?php if( !empty($anh_dai_dien['url']) ): ?>
                    <img class="showroom-img" src="<?php echo esc_url($anh_dai_dien['url']); ?>" alt="<?php echo esc_attr($anh_dai_dien['alt']); ?>">
                <?php endif; ?>
				<div class="showroom-content">
					<h3 class="showroom-title"><?php echo esc_html($ten_showroom); ?></h3>
					<p class="showroom-address"><img width="20" height="20" src="/wp-content/uploads/2025/11/location.png" class="icon-showroom" alt="" decoding="async" loading="lazy"> <?php echo esc_html($dia_chi); ?></p>
                    <p class="showroom-phone"><img width="20" height="20" src="/wp-content/uploads/2025/11/call.png" class="icon-showroom" alt="" decoding="async" loading="lazy"> <a href="tel:<?php echo esc_attr($sdt); ?>"><?php echo esc_html($sdt); ?></a></p>
				</div>
            </div>
            <?php
        endwhile;
        echo '</div>';

        // Nếu có hơn 6 showroom thì hiện nút
        if ($count > 6) {
            echo '<button class="showroom-loadmore" data-shown="6">Xem thêm Showroom</button>';
        }

        echo '</div>';
    else:
        echo '<p>Chưa có dữ liệu showroom cho ' . esc_html($region_label) . '.</p>';
    endif;

    return ob_get_clean();
}


// Shortcode dùng tham số [showroom mien="mien_bac"]
add_shortcode('showroom', function($atts) {
    $atts = shortcode_atts([
        'mien' => 'mien_bac'
    ], $atts, 'showroom');

    $map = [
        'mien_bac'   		=> ['field' => 'showroom_mien_bac', 'label' => 'Miền Bắc'],
        'mien_trung' 		=> ['field' => 'showroom_mien_trung', 'label' => 'Miền Trung'],
        'mien_nam'   		=> ['field' => 'showroom_mien_nam', 'label' => 'Miền Nam'],
		'vinfast_vfxanh' 	=> ['field' => 'showroom_vinfast_vfxanh_auto', 'label' => 'VFXanh'],
        'byd_neg'   		=> ['field' => 'showroom_byd_neg', 'label' => 'BYD'],
		'vinfast_vfx' 		=> ['field' => 'showroom_xe_may_dien_vinfast_vfx', 'label' => 'VFXanh'],
		'yadea'				=> ['field' => 'showroom_xe_may_dien_yadea_plus', 'label' =>	'Yadea Plus'],
    ];

    if (!isset($map[$atts['mien']])) {
        return '<p><em>Miền không hợp lệ. Vui lòng dùng: mien_bac, mien_trung, hoặc mien_nam.</em></p>';
    }

    return render_showroom_region($map[$atts['mien']]['field'], $map[$atts['mien']]['label']);
});

function shortcode_all_showrooms() {
    ob_start();

    // Mảng chứa 3 repeater và tên hiển thị
    $regions = [
//         'showroom_mien_bac'   				=> 'Miền Bắc',
//         'showroom_mien_trung' 				=> 'Miền Trung',
//         'showroom_mien_nam'   				=> 'Miền Nam',
		'showroom_vinfast_vfxanh_auto'  	=> 'VFXanh',
		'showroom_byd_neg'				 	=> 'BYD NEG',
        'showroom_xe_may_dien_vinfast_vfx'  => 'VFXanh',
		'showroom_xe_may_dien_yadea_plus'	=>	'Yadea Plus',
    ];

    $count = 0; // ✅ Khởi tạo đếm tổng
    echo '<div class="showroom-wrapper">';
    echo '<div class="showroom-grid">';

    foreach ( $regions as $field_key => $region_label ) {
        if( have_rows($field_key, 'option') ):
            while( have_rows($field_key, 'option') ): the_row();
                $count++;

                $ten_showroom = get_sub_field('ten_showroom');
                $anh_dai_dien = get_sub_field('anh_dai_dien');
                $dia_chi = get_sub_field('dia_chi');
                $sdt = get_sub_field('sdt');

                // ✅ Nếu ảnh là ID thì lấy URL
                if( !empty($anh_dai_dien) && is_numeric($anh_dai_dien) ) {
                    $src = wp_get_attachment_image_url($anh_dai_dien, 'large');
                    $alt = get_post_meta($anh_dai_dien, '_wp_attachment_image_alt', true);
                    $anh_dai_dien = ['url' => $src, 'alt' => $alt];
                }

                // ✅ Ẩn showroom nếu sau 6 cái đầu
                $hidden_class = $count > 6 ? ' hidden' : '';
                ?>
                <div class="showroom-item<?php echo $hidden_class; ?>">
                    <span class="showroom-region"><?php echo esc_html($region_label); ?></span>
                    <?php if( !empty($anh_dai_dien['url']) ): ?>
                        <img class="showroom-img" src="<?php echo esc_url($anh_dai_dien['url']); ?>" alt="<?php echo esc_attr($anh_dai_dien['alt']); ?>">
                    <?php endif; ?>
                    <div class="showroom-content">
                        <h3 class="showroom-title"><?php echo esc_html($ten_showroom); ?></h3>
						<p class="showroom-address"><img width="20" height="20" src="/wp-content/uploads/2025/11/location.png" class="icon-showroom" alt="" decoding="async" loading="lazy"> <?php echo esc_html($dia_chi); ?></p>
						<p class="showroom-phone"><img width="20" height="20" src="/wp-content/uploads/2025/11/call.png" class="icon-showroom" alt="" decoding="async" loading="lazy"> <a href="tel:<?php echo esc_attr($sdt); ?>"><?php echo esc_html($sdt); ?></a></p>
                    </div>
                </div>
                <?php
            endwhile;
        endif;
    }

    echo '</div>';

    // ✅ Chỉ hiện nút nếu có nhiều hơn 6 showroom
    if ($count > 6) {
		echo '<button class="showroom-loadmore" data-shown="6">Xem thêm Showroom</button>';
    }

    echo '</div>'; // end .showroom-wrapper

    return ob_get_clean();
}
add_shortcode('all_showrooms', 'shortcode_all_showrooms');
