Files
Crumb-Core-v.1/app/templates/home/index.html

127 lines
3.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "home/base_home.html" %}
{% block content %}
<!-- Hero Section -->
<section class="hero">
<div>
<h1>{{ t.home.hero_title }}</h1>
<p>{{ t.home.hero_subtitle }}</p>
<a href="#explore" class="cta-button">
{{ t.home.hero_cta }}
</a>
<!-- Language Switcher -->
<div class="lang-switcher">
<a href="?lang=de">DE</a>
<a href="?lang=en">EN</a>
<a href="?lang=fr">FR</a>
</div>
</div>
</section>
<!-- Mission Section -->
<section id="explore" class="mission">
<h2>{{ t.home.mission_title }}</h2>
<p>{{ t.home.mission_desc }}</p>
<div class="values-grid">
{% for value in t.home.mission_values %}
<div class="value-card">
<h3>{{ value.icon }} {{ value.title }}</h3>
<p>{{ value.text }}</p>
</div>
{% endfor %}
</div>
</section>
{% if deployment.home.sections.testimonials %}
<!-- Testimonials -->
<section class="testimonials">
<h2>{{ t.home.testimonials_title }}</h2>
<div class="testimonial-slide" id="testimonial-container">
<p id="testimonial-text"></p>
<small id="testimonial-author"></small>
</div>
<div style="display: flex; justify-content: center; gap: 2rem; margin-top: 2rem;">
<button onclick="prevTestimonial()">⬅️</button>
<button onclick="nextTestimonial()">➡️</button>
</div>
</section>
{% endif %}
{% if deployment.home.sections.crew %}
<!-- Character Preview -->
<section class="container">
<h2 style="text-align: center;">{{ t.home.crew_preview_title }}</h2>
<div style="text-align: center; margin: 2rem 0;">
<a href="/crew" role="button">{{ t.home.crew_preview_button }}</a>
</div>
</section>
{% endif %}
<!-- Access Section -->
<section class="container">
<h2 style="text-align: center;">{{ t.home.access_title }}</h2>
<div style="display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;">
{% if deployment.features.rag_system %}
<a href="/de/login" role="button">{{ t.home.access_rag }}</a>
{% endif %}
{% if deployment.features.document_search %}
<a href="/de/login" role="button">{{ t.home.access_search }}</a>
{% endif %}
<a href="/hardware" role="button" class="outline">{{ t.home.access_hardware }}</a>
<a href="/software" role="button" class="outline">{{ t.home.access_software }}</a>
</div>
</section>
{% endblock %}
{% block extra_js %}
<script>
let testimonials = [];
let currentIndex = 0;
fetch('/static/data/testimonials.{{ lang }}.json')
.then(res => {
if (!res.ok) throw new Error("Testimonials not found");
return res.json();
})
.then(data => {
testimonials = data;
showTestimonial(0);
setInterval(nextTestimonial, 8000);
})
.catch(err => {
console.warn("Testimonials load failed for '{{ lang }}':", err);
// Fallback to German
if ("{{ lang }}" !== "de") {
fetch('/static/data/testimonials.de.json')
.then(res => res.json())
.then(data => {
testimonials = data;
showTestimonial(0);
setInterval(nextTestimonial, 8000);
})
.catch(e => console.error("Fallback testimonials failed:", e));
}
});
function showTestimonial(index) {
const t = testimonials[index];
document.getElementById('testimonial-text').textContent = `"${t.message}"`;
document.getElementById('testimonial-author').textContent = ` ${t.author}, ${t.role}`;
}
function nextTestimonial() {
currentIndex = (currentIndex + 1) % testimonials.length;
showTestimonial(currentIndex);
}
function prevTestimonial() {
currentIndex = (currentIndex - 1 + testimonials.length) % testimonials.length;
showTestimonial(currentIndex);
}
</script>
{% endblock %}