<?php

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$page = sev_tort_current_page_config();

if ( ! function_exists( 'sev_tort_portfolio_image_groups' ) ) {
function sev_tort_portfolio_image_groups() {
	$base_dir = get_template_directory() . '/assets/images/images';
	$base_uri = get_template_directory_uri() . '/assets/images/images';
	$groups   = array(
		array(
			'title' => 'Бенто и праздничные торты',
			'lead'  => 'Компактные торты, надписи, минималистичный и яркий декор для личных поводов.',
			'path'  => '',
			'alt'   => 'Бенто торт на заказ в Севастополе',
		),
		array(
			'title' => 'Медовые торты и классические работы',
			'lead'  => 'Подборка тортов с натуральным декором, ягодами, кремом и аккуратной подачей.',
			'path'  => 'medobory_torty_na_zakaz',
			'alt'   => 'Медовый торт на заказ в Севастополе',
		),
		array(
			'title' => 'Авторские торты Stefany Cake',
			'lead'  => 'Примеры детских, свадебных, тематических и праздничных тортов с индивидуальным декором.',
			'path'  => 'stefanycake_torty_na_zakaz',
			'alt'   => 'Авторский торт на заказ в Севастополе',
		),
	);

	foreach ( $groups as $index => $group ) {
		$directory = trailingslashit( $base_dir );
		$uri       = trailingslashit( $base_uri );

		if ( $group['path'] ) {
			$directory .= $group['path'] . '/';
			$uri       .= $group['path'] . '/';
		}

		$files = array();
		foreach ( array( 'jpg', 'jpeg', 'png', 'webp' ) as $extension ) {
			$matched_files = glob( $directory . '*.' . $extension );
			if ( $matched_files ) {
				$files = array_merge( $files, $matched_files );
			}
		}

		natsort( $files );

		$groups[ $index ]['images'] = array_map(
			function ( $file ) use ( $directory, $uri, $group ) {
				$name   = basename( $file );
				$number = preg_replace( '/\D+/', '', pathinfo( $name, PATHINFO_FILENAME ) );
				$size   = @getimagesize( $file );

				return array(
					'src'    => $uri . $name,
					'alt'    => trim( $group['alt'] . ( $number ? ' - работа ' . $number : '' ) ),
					'width'  => $size ? $size[0] : 600,
					'height' => $size ? $size[1] : 600,
				);
			},
			$files
		);
	}

	return $groups;
}
}

$portfolio_groups = sev_tort_portfolio_image_groups();
$portfolio_links  = array(
	array( 'title' => 'Бенто', 'url' => '/bento/' ),
	array( 'title' => 'Детские', 'url' => '/detskie/' ),
	array( 'title' => 'Свадебные', 'url' => '/svadebnye/' ),
	array( 'title' => 'Корпоративные', 'url' => '/korporativnye/' ),
	array( 'title' => 'На день рождения', 'url' => '/na-den-rozhdeniya/' ),
	array( 'title' => 'Цены', 'url' => '/ceny/' ),
);

get_header();
?>
<main class="portfolio-page">
	<section class="portfolio-hero">
		<div class="portfolio-hero__inner">
			<div class="portfolio-hero__content">
				<span class="portfolio-hero__eyebrow">Портфолио</span>
				<h1 class="portfolio-hero__title"><?php echo esc_html( $page['h1'] ); ?></h1>
				<p class="portfolio-hero__lead"><?php echo esc_html( $page['lead'] ); ?></p>
			</div>
			<div class="portfolio-hero__meta">
				<span class="portfolio-hero__meta-number"><?php echo esc_html( array_sum( array_map( static function ( $group ) { return count( $group['images'] ); }, $portfolio_groups ) ) ); ?></span>
				<span class="portfolio-hero__meta-text">примеров тортов в галерее</span>
			</div>
			<nav class="portfolio-hero__links" aria-label="Разделы портфолио">
				<?php foreach ( $portfolio_links as $item ) : ?>
					<a class="portfolio-hero__link" href="<?php echo esc_url( home_url( $item['url'] ) ); ?>"><?php echo esc_html( $item['title'] ); ?></a>
				<?php endforeach; ?>
			</nav>
		</div>
	</section>

	<section class="portfolio-gallery">
		<div class="portfolio-gallery__inner">
			<?php foreach ( $portfolio_groups as $group ) : ?>
				<div class="portfolio-gallery__section">
					<div class="portfolio-gallery__head">
						<h2 class="portfolio-gallery__title"><?php echo esc_html( $group['title'] ); ?></h2>
						<p class="portfolio-gallery__lead"><?php echo esc_html( $group['lead'] ); ?></p>
					</div>
					<div class="portfolio-gallery__grid">
						<?php foreach ( $group['images'] as $image ) : ?>
							<figure class="portfolio-gallery__item">
								<img class="portfolio-gallery__image" src="<?php echo esc_url( $image['src'] ); ?>" alt="<?php echo esc_attr( $image['alt'] ); ?>" width="<?php echo esc_attr( $image['width'] ); ?>" height="<?php echo esc_attr( $image['height'] ); ?>" loading="lazy">
							</figure>
						<?php endforeach; ?>
					</div>
					<div class="portfolio-gallery__action">
						<button class="button-main" type="button" data-lead-open data-lead-source="Заявка из портфолио: <?php echo esc_attr( $group['title'] ); ?>">Повторить похожий стиль</button>
						<a class="button-link" href="<?php echo esc_url( home_url( '/ceny/' ) ); ?>">Посмотреть цены</a>
					</div>
				</div>
			<?php endforeach; ?>
		</div>
	</section>

	<section class="portfolio-lead">
		<div class="portfolio-lead__inner">
			<div class="portfolio-lead__content">
				<span class="section-eyebrow">Заявка</span>
				<h2 class="section-title">Понравился стиль из портфолио?</h2>
				<p class="portfolio-lead__text">Отправьте пример, дату и пожелания по весу. Подскажем начинку, стоимость и ближайший свободный срок.</p>
			</div>
			<?php get_template_part( 'template-parts/lead-form', null, array( 'title' => 'Оставить заявку', 'page' => 'Портфолио', 'source' => 'Встроенная форма: портфолио' ) ); ?>
		</div>
	</section>
</main>
<?php
get_footer();
