84 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% set title = title | default(value="") %}
 | |
| {% set title_part_1 = title_part_1 | default(value="") %}
 | |
| {% set title_part_2 = title_part_2 | default(value="") %}
 | |
| {% set title_part_3 = title_part_3 | default(value="") %}
 | |
| {% set title_part_4 = title_part_4 | default(value="") %}
 | |
| {% set title_part_5 = title_part_5 | default(value="") %}
 | |
| {% set image_src = image_src | default(value="") %}
 | |
| {% set image_alt = image_alt | default(value="") %}
 | |
| {% set button_text = button_text | default(value="") %}
 | |
| {% set button_link = button_link | default(value="") %}
 | |
| 
 | |
| <div class="fade-in relative isolate overflow-hidden py-12 lg:py-24 lg:h-screen">
 | |
|     <div class="mx-auto max-w-7xl lg:col-span-2 px-4 lg:flex lg:gap-x-2 lg:px-8">
 | |
|       <div class="mx-auto max-w-2xl shrink-0 lg:mx-0 lg:pt-8 px-4">
 | |
|         <h1 class="mt-10">
 | |
|           {{ title }} 
 | |
|           <span id="slides" class="slides"></span>
 | |
|         </h1>
 | |
|         <div id="learn-more" class="lg:mt-10 mt-4 flex items-center gap-x-6"> 
 | |
|           <a href="{{ button_link }}" target="_blank" class="text-xl font-semibold text-black hover:text-gray-500">
 | |
|             {{ button_text }} <span aria-hidden="true">→</span>
 | |
|           </a>
 | |
|         </div>
 | |
|       </div>
 | |
|       <div class="mx-auto flex max-w-5xl lg:mt-12 mt-0 lg:mr-0 lg:ml-5 lg:max-w-none lg:flex-none">
 | |
|         <div class="max-w-3xl flex-none lg:max-w-5xl">
 | |
|           <img src="{{ image_src }}" alt="{{ image_alt }}" width="2432" height="1442" class="lg:w-[66rem] w-[25rem]">
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|   </div>
 | |
|   
 | |
|   <script>
 | |
|   document.addEventListener("DOMContentLoaded", function () {
 | |
|       const phrases = [
 | |
|           "{{ title_part_1 }}",
 | |
|           "{{ title_part_2 }}",
 | |
|           "{{ title_part_3 }}",
 | |
|           "{{ title_part_4 }}",
 | |
|           "{{ title_part_5 }}" // Final phrase
 | |
|       ];
 | |
|   
 | |
|       let index = 0;
 | |
|       const slideElement = document.getElementById("slides");
 | |
|       const learnMoreElement = document.getElementById("learn-more");
 | |
|   
 | |
|       function typeText(text, i, callback) {
 | |
|           if (i < text.length) {
 | |
|               slideElement.textContent += text.charAt(i);
 | |
|               setTimeout(() => typeText(text, i + 1, callback), 100);
 | |
|           } else {
 | |
|               setTimeout(callback, 500);
 | |
|           }
 | |
|       }
 | |
|   
 | |
|       function deleteText(callback) {
 | |
|           let text = slideElement.textContent;
 | |
|           if (text.length > 0) {
 | |
|               slideElement.textContent = text.substring(0, text.length - 1);
 | |
|               setTimeout(() => deleteText(callback), 50);
 | |
|           } else {
 | |
|               setTimeout(callback, 500);
 | |
|           }
 | |
|       }
 | |
|   
 | |
|       function cyclePhrases() {
 | |
|           if (index < phrases.length - 1) {
 | |
|               typeText(phrases[index], 0, () => {
 | |
|                   deleteText(() => {
 | |
|                       index++;
 | |
|                       cyclePhrases();
 | |
|                   });
 | |
|               });
 | |
|           } else {
 | |
|               typeText(phrases[index], 0, () => {
 | |
|                   learnMoreElement.classList.remove("hidden"); // Show "Learn more"
 | |
|               });
 | |
|           }
 | |
|       }
 | |
|   
 | |
|       cyclePhrases(); // Start the loop
 | |
|   });
 | |
|   </script>
 | |
|    |