Initial commit: Complete multilingual website with translation system
This commit is contained in:
16
templates/components/cta_section.html
Normal file
16
templates/components/cta_section.html
Normal file
@@ -0,0 +1,16 @@
|
||||
{% macro cta_section(title, description, button_text, button_url, t) %}
|
||||
<section class="py-5 bg-primary text-white cta-section">
|
||||
<div class="cta-bg-animation">
|
||||
<div class="cta-particle cta-particle-1"></div>
|
||||
<div class="cta-particle cta-particle-2"></div>
|
||||
<div class="cta-particle cta-particle-3"></div>
|
||||
<div class="cta-particle cta-particle-4"></div>
|
||||
<div class="cta-particle cta-particle-5"></div>
|
||||
</div>
|
||||
<div class="container text-center position-relative" style="z-index: 2;">
|
||||
<h2 class="display-5 fw-bold mb-4">{{ t(title) }}</h2>
|
||||
<p class="lead mb-4">{{ t(description) }}</p>
|
||||
<a href="{{ url_for(button_url) }}" class="btn btn-light btn-lg cta-btn">{{ t(button_text) }}</a>
|
||||
</div>
|
||||
</section>
|
||||
{% endmacro %}
|
||||
27
templates/components/hero_section.html
Normal file
27
templates/components/hero_section.html
Normal file
@@ -0,0 +1,27 @@
|
||||
{% import 'components/stats_section.html' as stats_component %}
|
||||
|
||||
{% macro hero_section(title, subtitle, icon_class="fas fa-star", stats=None, t=t) %}
|
||||
<section class="hero-section py-5">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-6">
|
||||
<div class="hero-content">
|
||||
<h1 class="display-3 fw-bold mb-4">{{ t(title) }}</h1>
|
||||
<p class="lead mb-4">{{ t(subtitle) }}</p>
|
||||
{% if stats %}
|
||||
{{ stats_component.stats_section(stats, t) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 text-center">
|
||||
<div class="hero-visual">
|
||||
<div class="hero-icon-wrapper">
|
||||
<i class="{{ icon_class }} hero-main-icon"></i>
|
||||
<div class="hero-icon-glow"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endmacro %}
|
||||
14
templates/components/stats_section.html
Normal file
14
templates/components/stats_section.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% macro stats_section(stats, t=t) %}
|
||||
<div class="hero-stats mb-4">
|
||||
<div class="row text-center">
|
||||
{% for stat in stats %}
|
||||
<div class="col-4">
|
||||
<div class="stat-item">
|
||||
<h3 class="text-white fw-bold mb-1">{{ stat.value }}</h3>
|
||||
<small class="text-light">{{ t(stat.label) }}</small>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
69
templates/components/testimonials_section.html
Normal file
69
templates/components/testimonials_section.html
Normal file
@@ -0,0 +1,69 @@
|
||||
{% macro testimonials_section(title="What My Clients Say", subtitle="Don't just take my word for it - hear from some of my satisfied clients.", t=t) %}
|
||||
<section class="py-5 bg-light testimonials-section">
|
||||
<div class="container">
|
||||
<div class="row text-center mb-5">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<h2 class="display-5 fw-bold mb-3">{{ title }}</h2>
|
||||
<p class="lead text-muted">{{ subtitle }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-4">
|
||||
<div class="card h-100 fade-in-up testimonial-card">
|
||||
<div class="card-body p-4">
|
||||
<div class="testimonial-rating mb-3">
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
</div>
|
||||
<p class="card-text mb-3">{{ t('"Got my website in 2 days! Now I get 15 new customers every week from online orders. Best €299 I ever spent for my bakery."') }}</p>
|
||||
<div class="testimonial-author">
|
||||
<strong>{{ t('Maria Van Damme') }}</strong><br>
|
||||
<small class="text-muted">{{ t('Bakery Owner') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card h-100 fade-in-up testimonial-card">
|
||||
<div class="card-body p-4">
|
||||
<div class="testimonial-rating mb-3">
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
</div>
|
||||
<p class="card-text mb-3">{{ t('"My perfume shop website brings in 30% more customers. People find me on Google and call to ask about my products. Website paid for itself in the first month!"') }}</p>
|
||||
<div class="testimonial-author">
|
||||
<strong>{{ t('Anna De Vries') }}</strong><br>
|
||||
<small class="text-muted">{{ t('Perfume Shop Owner') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card h-100 fade-in-up testimonial-card">
|
||||
<div class="card-body p-4">
|
||||
<div class="testimonial-rating mb-3">
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
<i class="fas fa-star text-warning"></i>
|
||||
</div>
|
||||
<p class="card-text mb-3">{{ t('"Kobe made everything so simple. One phone call, told him about my restaurant, and 48 hours later I had a beautiful website. Now customers can see my menu and call to make reservations."') }}</p>
|
||||
<div class="testimonial-author">
|
||||
<strong>{{ t('Piet Janssens') }}</strong><br>
|
||||
<small class="text-muted">{{ t('Restaurant Owner') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endmacro %}
|
||||
Reference in New Issue
Block a user