<?php
/**
 * 'Band' template to display the content
 *
 * Used for index/archive/search.
 *
 * @package EXPO
 * @since EXPO 1.71.0
 */

$expo_template_args = get_query_var( 'expo_template_args' );
if ( ! is_array( $expo_template_args ) ) {
	$expo_template_args = array(
								'type'    => 'band',
								'columns' => 1
								);
}

$expo_columns       = 1;

$expo_expanded      = ! expo_sidebar_present() && expo_get_theme_option( 'expand_content' ) == 'expand';

$expo_post_format   = get_post_format();
$expo_post_format   = empty( $expo_post_format ) ? 'standard' : str_replace( 'post-format-', '', $expo_post_format );

if ( is_array( $expo_template_args ) ) {
	$expo_columns    = empty( $expo_template_args['columns'] ) ? 1 : max( 1, $expo_template_args['columns'] );
	$expo_blog_style = array( $expo_template_args['type'], $expo_columns );
	if ( ! empty( $expo_template_args['slider'] ) ) {
		?><div class="slider-slide swiper-slide">
		<?php
	} elseif ( $expo_columns > 1 ) {
	    $expo_columns_class = expo_get_column_class( 1, $expo_columns, ! empty( $expo_template_args['columns_tablet']) ? $expo_template_args['columns_tablet'] : '', ! empty($expo_template_args['columns_mobile']) ? $expo_template_args['columns_mobile'] : '' );
				?><div class="<?php echo esc_attr( $expo_columns_class ); ?>"><?php
	}
}
?>
<article id="post-<?php the_ID(); ?>" data-post-id="<?php the_ID(); ?>"
	<?php
	post_class( 'post_item post_item_container post_layout_band post_format_' . esc_attr( $expo_post_format ) );
	expo_add_blog_animation( $expo_template_args );
	?>
>
	<?php

	// Sticky label
	if ( is_sticky() && ! is_paged() ) {
		?>
		<span class="post_label label_sticky"></span>
		<?php
	}

	// Featured image
	$expo_hover      = ! empty( $expo_template_args['hover'] ) && ! expo_is_inherit( $expo_template_args['hover'] )
							? $expo_template_args['hover']
							: expo_get_theme_option( 'image_hover' );
	$expo_components = ! empty( $expo_template_args['meta_parts'] )
							? ( is_array( $expo_template_args['meta_parts'] )
								? $expo_template_args['meta_parts']
								: array_map( 'trim', explode( ',', $expo_template_args['meta_parts'] ) )
								)
							: expo_array_get_keys_by_value( expo_get_theme_option( 'meta_parts' ) );
	expo_show_post_featured( apply_filters( 'expo_filter_args_featured',
		array(
			'no_links'   => ! empty( $expo_template_args['no_links'] ),
			'hover'      => $expo_hover,
			'meta_parts' => $expo_components,
			'thumb_bg'   => true,
			'thumb_ratio'   => '1:1',
			'thumb_size' => ! empty( $expo_template_args['thumb_size'] )
								? $expo_template_args['thumb_size']
								: expo_get_thumb_size( 
								in_array( $expo_post_format, array( 'gallery', 'audio', 'video' ) )
									? ( strpos( expo_get_theme_option( 'body_style' ), 'full' ) !== false
										? 'full'
										: ( $expo_expanded 
											? 'big' 
											: 'medium-square'
											)
										)
									: 'masonry-big'
								)
		),
		'content-band',
		$expo_template_args
	) );

	?><div class="post_content_wrap"><?php

		// Title and post meta
		$expo_show_title = get_the_title() != '';
		$expo_show_meta  = count( $expo_components ) > 0 && ! in_array( $expo_hover, array( 'border', 'pull', 'slide', 'fade', 'info' ) );
		if ( $expo_show_title ) {
			?>
			<div class="post_header entry-header">
				<?php
				// Categories
				if ( apply_filters( 'expo_filter_show_blog_categories', $expo_show_meta && in_array( 'categories', $expo_components ), array( 'categories' ), 'band' ) ) {
					do_action( 'expo_action_before_post_category' );
					?>
					<div class="post_category">
						<?php
						expo_show_post_meta( apply_filters(
															'expo_filter_post_meta_args',
															array(
																'components' => 'categories',
																'seo'        => false,
																'echo'       => true,
																'cat_sep'    => false,
																),
															'hover_' . $expo_hover, 1
															)
											);
						?>
					</div>
					<?php
					$expo_components = expo_array_delete_by_value( $expo_components, 'categories' );
					do_action( 'expo_action_after_post_category' );
				}
				// Post title
				if ( apply_filters( 'expo_filter_show_blog_title', true, 'band' ) ) {
					do_action( 'expo_action_before_post_title' );
					if ( empty( $expo_template_args['no_links'] ) ) {
						the_title( sprintf( '<h4 class="post_title entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h4>' );
					} else {
						the_title( '<h4 class="post_title entry-title">', '</h4>' );
					}
					do_action( 'expo_action_after_post_title' );
				}
				?>
			</div><!-- .post_header -->
			<?php
		}

		// Post content
		if ( ! isset( $expo_template_args['excerpt_length'] ) && ! in_array( $expo_post_format, array( 'gallery', 'audio', 'video' ) ) ) {
			$expo_template_args['excerpt_length'] = 13;
		}
		if ( apply_filters( 'expo_filter_show_blog_excerpt', empty( $expo_template_args['hide_excerpt'] ) && expo_get_theme_option( 'excerpt_length' ) > 0, 'band' ) ) {
			?>
			<div class="post_content entry-content">
				<?php
				// Post content area
				expo_show_post_content( $expo_template_args, '<div class="post_content_inner">', '</div>' );
				?>
			</div><!-- .entry-content -->
			<?php
		}
		// Post meta
		if ( apply_filters( 'expo_filter_show_blog_meta', $expo_show_meta, $expo_components, 'band' ) ) {
			if ( count( $expo_components ) > 0 ) {
				do_action( 'expo_action_before_post_meta' );
				expo_show_post_meta(
					apply_filters(
						'expo_filter_post_meta_args', array(
							'components' => join( ',', $expo_components ),
							'seo'        => false,
							'echo'       => true,
						), 'band', 1
					)
				);
				do_action( 'expo_action_after_post_meta' );
			}
		}
		// More button
		if ( apply_filters( 'expo_filter_show_blog_readmore', ! $expo_show_title || ! empty( $expo_template_args['more_button'] ), 'band' ) ) {
			if ( empty( $expo_template_args['no_links'] ) ) {
				do_action( 'expo_action_before_post_readmore' );
				expo_show_post_more_link( $expo_template_args, '<div class="more-wrap">', '</div>' );
				do_action( 'expo_action_after_post_readmore' );
			}
		}
		?>
	</div>
</article>
<?php

if ( is_array( $expo_template_args ) ) {
	if ( ! empty( $expo_template_args['slider'] ) || $expo_columns > 1 ) {
		?>
		</div>
		<?php
	}
}
