{% extends 'layouts/base' %}

{% do seomatic.meta.seoTitle("Search") %}

{% block content %}

	{% set entry = {
		title: "Search",
	} %}

	{% set activeKeywords = craft.app.request.param("q") %}

	{% set results = craft.entries({
		section: ["sitemap", "miscPages", "news", "newsListing", "needHelpNow"],
		search: activeKeywords,
	}).all() %}

	{% embed 'skeletons/internalPage' %}

		{% block breadcrumbs %}{% endblock %}

		{% block featureImage %}{% endblock %}

		{% block article %}

			{% if results|length and activeKeywords|length %}
				<div class="mb-12 font-medium leading-normal text-blue type-d md:mb-32">
					{{ results|length }} {{ "result"|pluralize(results|length) }} found for {{ "keyword"|pluralize(activeKeywords|split(" ")|length) }} '{{ activeKeywords }}'.
				</div>
			{% endif %}

			{% if results and activeKeywords|length %}
				<div class="relative">
					{% set homepage = craft.entries.section('homepage').one()|default %}
					{% set newsListing = craft.entries.type('newsListing').one()|default %}
					{% set defaultCrumbs = [homepage] %}

					{# News #}
					{% set newsCrumbs = newsListing['level']|default > 1 ? defaultCrumbs|merge(newsListing.ancestors.all()) : defaultCrumbs %}
					{% set newsCrumbs = newsListing ? newsCrumbs|merge([newsListing]) : defaultCrumbs %}

					{# TODO: The other sections! #}
					{% for result in results if result.url %}

						{% set crumbs = null %}
						{% set buttonText = "Visit page" %}

						{% switch result.type.handle %}

							{% case "article" %}
								{% set crumbs = newsCrumbs|merge([result]) %}
								{% set buttonText = "Read article" %}

							{% default %}
								{% set crumbs = defaultCrumbs|merge([result]) %}

						{% endswitch %}


						<div class="block mb-12">

							<a href="{{ result.url|default }}" class="block pt-2 mb-4 leading-normal tracking-tight text-blue transition border-t-2 border-blue-500 hocus:border-blue-700">
								<h2 class="font-medium type-lg">
									{{ result.title }}
								</h2>
							</a>

							{% if crumbs %}
								<div class="mb-4">
									{% include 'partials/breadcrumbs' with {
										self: {
											crumbs: crumbs,
											config: {
												showIfOver: 0,
											}
										}
									} %}
								</div>

							{% else %}

								{% set sectionType = result.section.type|default %}

								{% if sectionType == "structure" %}
									{% set ancestors = result.getAncestors() %}
									{% if ancestors is not empty %}
										<div class="mb-4">
											{% include 'partials/breadcrumbs' with {
												self: {
													crumbs: ancestors
												}
											} %}
										</div>
									{% endif %}
								{% else %}
								{% endif %}
							{% endif %}

							{% if result['summary']|default %}
								<div class="mb-8 font-normal leading-relaxed text-gray-800 type-base">
									{{ result.summary }}
								</div>
							{% endif %}

							<div class="mt-8">

								{% include "partials/button" with {
									self: {
										url: result.url|default,
										isSnug: true,
										text: buttonText,
									}
								}%}
							</div>

						</div>

					{% endfor %}
				</div>

			{% elseif activeKeywords|length > 0 %}
				<h3 class="mb-8 font-medium leading-snug tracking-tight text-blue-600 type-c">Sorry, there are no results found for &lsquo;{{ activeKeywords }}&rsquo;.</h2>
				<p class="mb-8 font-normal leading-relaxed text-gray-800 type-base">
					Please try again with different keyword(s).
				</p>
			{% endif %}

		{% endblock %}

		{% block aside %}
			{% import "macros" as macros %}
			<div class="py-8">
				<h2 class="mb-8 leading-snug text-blue type-lg">Search the site</h2>
				<form action="/search" class="relative w-full">
					<input type="search" name="q" placeholder="Enter keywords" value="{{ activeKeywords|default }}" class="w-full py-4 pl-4 pr-16 font-normal leading-tight text-gray-800 transition border-2 border-blue-500 rounded-md type-base focus:outline-none hocus:border-blue-600">
					<button type="submit" class="absolute top-0 right-0 flex items-center justify-center w-16 h-full p-0 text-blue transition rounded-tr-md rounded-br-md type-c hocus:bg-blue-500 hocus:text-white">
						{{ macros.icon("outline/search", "") }}
					</button>
				</form>
			</div>
		{% endblock %}

	{% endembed %}

{% endblock content %}
