<?php
get_header();
if (!function_exists('build_share_urls')) {
	function build_chapter_index($blocks)
	{
		$chapterBlockIndex  = [];
		foreach ($blocks as $key => $block) {
			if ($block['blockName'] == 'homegrade-content-blocks/chapitrage-thematique') {
				foreach ($block['innerBlocks'] as $key => $innerBlock) {
					if (!$innerBlock['attrs']['chapterTitle']) continue;

					$cleanedTitle = strtolower(preg_replace("/[^a-zA-Z]/", "", $innerBlock['attrs']['chapterTitle']));

					array_push($chapterBlockIndex, [
						'block-type' =>  $block['blockName'],
						'anchor' => '#' . $cleanedTitle,
						'title' => $innerBlock['attrs']['chapterTitle'],
					]);
				}
			}
			if ($block['blockName'] == 'homegrade-content-blocks/questions-container') {
				array_push($chapterBlockIndex, [
					'block-type' =>  $block['blockName'],
					'anchor' => '#questions-container-' . $block['attrs']['relatedPostId'],
					'title' => get_the_title($block['attrs']['relatedPostId']),
				]);
			}
			if ($block['blockName'] == 'homegrade-content-blocks/vocabulaire-summary') {
				array_push($chapterBlockIndex, [
					'block-type' =>  $block['blockName'],
					'anchor' => "#vocabulaire-summary",
					'title' => __("Vocabulaire", "homegrade-theme__texte-fonctionnel") . " " . get_the_terms(get_the_ID(), "thematiques")[0]->name,
				]);
			}
			if ($block['blockName'] == 'homegrade-content-blocks/plus-loin') {
				array_push($chapterBlockIndex, [
					'block-type' =>  $block['blockName'],
					'anchor' => "#aller-plus-loin",
					'title' => __("Pour aller plus loin", "homegrade-blocks__texte-fonctionnel"),
				]);
			}
		}
		return $chapterBlockIndex;
	}
}
?>
<?php if (have_posts()) : ?>
	<?php while (have_posts()) : the_post(); ?>
		<?php
		$currentThematique = get_the_terms(get_the_ID(), 'thematiques')[0];
		$mainThematique = getMainThematique($currentThematique);
		$thematiqueColorSlug = $mainThematique->slug;
		?>

		<div class="post-conseil-page-container <?php echo $thematiqueColorSlug ? "post-conseil-page--" . $thematiqueColorSlug : "" ?>">
			<nav class=" breadcrumbs_navigation" aria-label="breadcrumbs">
				<?php
				$archiveConseils = get_page_by_template('template-archive-conseils.php')[0];
				?>
				<ol>
					<li>
						<a href="<?php echo home_url() ?>" title="<?php echo __("Accueil", "homegrade-theme__texte-fonctionnel") ?>">
							<img src="<?php echo get_template_directory_uri() . "/resources/img/pictogrammes/icon_house_dark.svg" ?>" alt="">
						</a>
					</li>
					<li><a href="<?php echo get_post_permalink($archiveConseils)  ?>"><?php echo $archiveConseils->post_title ?></a></li>
					<?php if ($mainThematique != $currentThematique) : ?>
						<?php
						$args = array(
							'post_type' => 'conseils', // the post type
							'tax_query' => array(
								array(
									'taxonomy' => 'thematiques', // the custom vocabulary
									'field'    => 'term_id', // term_id, slug or name
									'terms'    => array($mainThematique->term_id),
									'include_children' => false,
								),
							),
						);
						$mainThematiqueRelatedConseil = get_posts($args)[0] ?? null;
						?>
						<li><a href="<?php echo get_post_permalink($mainThematiqueRelatedConseil)  ?>"><?php echo $mainThematique->name ?></a></li>

					<?php endif; ?>
					<li><a href="<?php echo the_permalink()  ?>" aria-current="location"><?php echo $currentThematique->name ?></a></li>

				</ol>
			</nav>


			<?php /* -------
			CHAPTER HEADER	
 			---------------*/ ?>
			<?php
			$blocks = parse_blocks($post->post_content);
			$chapterBlockIndex  = build_chapter_index($blocks);
			$queryArgs = array(
				'post_type'   => 'brochures',
				'posts_per_page' => 1,
				'status' => 'publish',
				'tax_query' => array(
					array(
						'taxonomy' => 'thematiques',
						'field' => 'term_id',
						'terms' => $currentThematique->term_id,
						'include_children' => false,
					)
				)
			);
			$relatedBrochuresPosts = get_posts($queryArgs);
			$relatedBrochure = get_field('brochure_pdf', $relatedBrochuresPosts[0]->ID) ?? null;


			$hasManualDocument = get_field('manual_source_document');
			$manualSrcDocument = get_field('manual_document_link');

			$relatedDocumentUrl = ($hasManualDocument && $manualSrcDocument && $manualSrcDocument['source_document']) ? $manualSrcDocument['source_document']['url'] : $relatedBrochure['url'];
			$relatedDocumentCtaTitle = ($hasManualDocument && $manualSrcDocument && $manualSrcDocument['button_title']) ? $manualSrcDocument['button_title'] : __("Télécharger la brochure ", "homegrade-theme__texte-fonctionnel");

			get_template_part('template-components/post-conseils/chapter-header', null, array(
				'postID' => get_the_ID(),
				'subtitle' => __("Les conseillers Homegrade vous guident", "homegrade-theme__texte-fonctionnel"),
				'title' => get_the_title(get_the_ID()),
				'ctaUrl' =>  $relatedDocumentUrl,
				'ctaTitle' => $relatedDocumentCtaTitle,
				'hasInfoCapsule' => true,
			)); ?>
			<?php /* -------
				CONSEIL
 			---------------*/ ?>
			<div class=" conseils_wrapper">
				<!-- CHAPTER INDEX -->
				<aside class="chapter_index">
					<?php if ($chapterBlockIndex) : ?>
						<div class="chapter_index__titling">
							<div class="icon">
								<img src="<?php echo get_template_directory_uri() . '/resources/img/graphic-assets/icon-feather-menu.svg' ?>" alt="">
							</div>
							<h2 class="chapter_index__title"> <?php echo __("Dans ce conseil", "homegrade-theme__texte-fonctionnel") ?> </h2>
						</div>
						<ul class="chapter_index__list">
							<div class="chapter_index__position-indicator"></div>
							<?php foreach ($chapterBlockIndex  as $chapter) : ?>
								<li class="chapter_index__link"><a href="<?php echo $chapter['anchor'] ?>"><?php echo $chapter['title'] ?></a></li>
							<?php endforeach; ?>
						</ul>
					<?php endif; ?>
				</aside>

				<!-- ARTICLE -->
				<article class="entry-content single-editor-content <?php echo $thematiqueColorSlug ? "entry-content--" . $thematiqueColorSlug : "" ?>">
					<?php the_content() ?>
				</article>


			</div>
		</div>
	<?php endwhile; ?>
<?php endif; ?>






<?php
get_footer();
