<?php
/**
 * The template for displaying product content within loops
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-product.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 9.4.0
 */

defined( 'ABSPATH' ) || exit;

global $product;

// Check if the product is a valid WooCommerce product and ensure its visibility before proceeding.
if ( ! is_a( $product, WC_Product::class ) || ! $product->is_visible() ) {
	return;
}
?>

<li <?php  wc_product_class( 'product type-product show mix ', $product ); ?>> 
    <div class="product">
		<div class="product-single">
			<div class="product-img">				
				<a href="<?php the_permalink(); ?>">
					<?php 
						if ( $product->is_on_sale() ) : 
							echo apply_filters( 'woocommerce_sale_flash', '<div class="sale-ribbon"><span class="tag-line">' . esc_html__( 'Sale', 'electromix' ) . '</span></div>', $post, $product ); 
						endif; 
						the_post_thumbnail();
					?>
				</a>
				
				<?php
					$main_img_id = $product->get_image_id();
					$main_img_url = $main_img_id ? wp_get_attachment_image_url( $main_img_id, 'large' ) : wc_placeholder_img_src();

					// Get child images
					$child_imgs = [];

					if ( $product->is_type( 'bundle' ) && method_exists( $product, 'get_bundled_items' ) ) {
						$items = $product->get_bundled_items();
						foreach ( $items as $item ) {
							$child = $item->get_product();
							if ( $child && $child->get_image_id() ) {
								$child_imgs[] = wp_get_attachment_image_url( $child->get_image_id(), 'medium' );
							}
						}
					}
					if ( $product->is_type( 'grouped' ) ) {
						$children = $product->get_children();
						foreach ( $children as $cid ) {
							$childp = wc_get_product( $cid );
							if ( $childp && $childp->get_image_id() ) {
								$child_imgs[] = wp_get_attachment_image_url( $childp->get_image_id(), 'medium' );
							}
						}
					}
					
					/* Variable product variation images */
					if ( $product->is_type( 'variable' ) ) {
						foreach ( $product->get_children() as $vid ) {
							$variation = wc_get_product( $vid );
							if ( $variation && $variation->get_image_id() ) {
								$child_imgs[] = wp_get_attachment_image_url( $variation->get_image_id(), 'medium' );
							}
						}
					}
					
					/* Add Main Image */
					array_unshift($child_imgs, $main_img_url);
					
					if ( ! empty( $child_imgs ) ) : ?>
					<div class="thumbnails">
						<ul class="electromix_magnifier_gallery_front" data-columns="4" data-axis="vertical">
							<?php foreach ( $child_imgs as $cimg ) : ?>
								<li class="electromix_magnifier_thumbnail">
									<a href="javascript:void(0)" class="electromix_magnifier_thumbnail" title="<?php echo esc_attr( $product->get_name() ); ?>">
										<img src="<?php echo esc_url( $cimg ); ?>" class="attachment-shop_thumbnail size-shop_thumbnail" alt="">
									</a>
								</li>
							<?php endforeach; ?>
						</ul>
						<div id="slider-prev" class="electromix_slider_arrow">
							<span><i class="fa fa-angle-up"></i></span>
						</div>
						<div id="slider-next" class="electromix_slider_arrow">
							<span><i class="fa fa-angle-down"></i></span>
						</div>
					</div>
				 <?php endif; ?>
			</div>
			<div class="product-content-outer">
				<div class="product-content">					
						<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
						
						<?php if ($average = $product->get_average_rating()) : ?>
						<?php echo '<div class="star-rating" title="'.sprintf(__( 'Rated %s out of 5', 'electromix' ), $average).'"><span style="width:'.( ( $average / 5 ) * 100 ) . '%"><strong itemprop="ratingValue" class="rating">'.$average.'</strong> '.__( 'out of 5', 'electromix' ).'</span></div>'; ?>
						<?php endif; ?>
					
					<div class="price">
						<?php echo $product->get_price_html(); ?>
					</div>
    			</div>
				<div class="product-action">
					<div class="home-single-fields">
					<?php woocommerce_template_loop_add_to_cart(); ?>
					</div>
					<?php 
						do_action('electromix_woowishlist_add_button_loop');
						do_action('electromix_woocompare_add_button_loop'); 
					?>
				</div>					
			</div>			
		</div>
	</div>
</li>
