templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>
  7. {% block title %}WA BENIN - Association Culturelle
  8. {% endblock %}
  9. </title>
  10. <!-- SEO Meta Tags -->
  11. <meta name="description" content="WA BENIN est une association culturelle béninoise promouvant l'art, la culture et le Festival WA BENIN à l'international.">
  12. <meta property="og:title" content="WA BENIN - Célébrons la Culture">
  13. <meta property="og:description" content="Découvrez notre association culturelle, nos événements, et participez au Festival WA BENIN.">
  14. <meta
  15. property="og:type" content="website">
  16. <!-- Fonts: Poppins for headings, Inter for body -->
  17. <link rel="preconnect" href="https://fonts.googleapis.com">
  18. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  19. <link
  20. href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Poppins:wght@400;500;600;700;800&display=swap" rel="stylesheet">
  21. <!-- FontAwesome for Icons -->
  22. <link
  23. rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  24. <!-- Custom CSS -->
  25. <link rel="stylesheet" href="{{ asset('css/style.css') }}?v=4"> {% block stylesheets %}{% endblock %}
  26. </head>
  27. <body>
  28. <!-- Navigation -->
  29. <header class="main-header">
  30. <div class="container">
  31. <nav class="navbar">
  32. <a href="{{ path('app_home') }}" class="logo">
  33. <span class="logo-text">WA
  34. <strong>BENIN</strong>
  35. </span>
  36. </a>
  37. {% set current_route = app.request.attributes.get('_route') %}
  38. <ul class="nav-links">
  39. <li>
  40. <a href="{{ path('app_association') }}" class="{{ current_route == 'app_association' ? 'active' : '' }}">Association</a>
  41. </li>
  42. {# <li>
  43. <a href="{{ path('app_festival') }}" class="{{ current_route == 'app_festival' ? 'active' : '' }}">Festival</a>
  44. </li> #}
  45. <li>
  46. <a href="{{ path('app_evenements') }}" class="{{ current_route in ['app_evenements', 'app_event_show'] ? 'active' : '' }}">Événements</a>
  47. </li>
  48. <li>
  49. <a href="{{ path('app_galerie') }}" class="{{ current_route == 'app_galerie' ? 'active' : '' }}">Galerie</a>
  50. </li>
  51. <li>
  52. <a href="{{ path('app_adhesion') }}" class="{{ current_route == 'app_adhesion' ? 'active' : '' }}">Adhésion</a>
  53. </li>
  54. <li>
  55. <a href="{{ path('app_blog') }}" class="{{ current_route in ['app_blog', 'app_article_show'] ? 'active' : '' }}">Actualités</a>
  56. </li>
  57. <li>
  58. <a href="{{ path('app_contact') }}" class="{{ current_route == 'app_contact' ? 'active' : '' }}">Contact</a>
  59. </li>
  60. </ul>
  61. <div class="nav-actions" style="display: flex; gap: 15px; margin-left: 20px;">
  62. <a href="{{ path('app_dons') }}" class="btn btn-outline" style="border-color: var(--green); color: var(--green);">Faire un don</a>
  63. {% if app.session.get('member_id') %}
  64. <a href="{{ path('app_espace_membre') }}" class="btn btn-primary" style="background: var(--green); color: #fff;">Tableau de bord</a>
  65. <a href="{{ path('app_member_logout') }}" class="btn btn-outline" style="border-color: var(--red); color: var(--red);">
  66. <i class="fas fa-sign-out-alt"></i>
  67. </a>
  68. {% else %}
  69. <a href="{{ path('app_espace_membre') }}" class="btn btn-primary" style="background: var(--green); color: #fff;">
  70. <i class="fas fa-user" style="margin-right: 8px;"></i>
  71. Espace Membre</a>
  72. {% endif %}
  73. </div>
  74. <div class="mobile-menu-btn">
  75. <i class="fas fa-bars"></i>
  76. </div>
  77. </nav>
  78. </div>
  79. <!-- Mobile Menu Overlay -->
  80. <div class="mobile-nav-overlay" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: var(--black-dark); z-index: 2000; flex-direction: column; padding: 40px 20px;">
  81. <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;">
  82. <span class="logo-text" style="color: #fff;">WA
  83. <strong>BENIN</strong>
  84. </span>
  85. <i class="fas fa-times mobile-menu-close" style="color: #fff; font-size: 2rem; cursor: pointer;"></i>
  86. </div>
  87. <ul style="display: flex; flex-direction: column; gap: 20px; font-size: 1.5rem; text-align: center;">
  88. <li>
  89. <a href="{{ path('app_association') }}" style="color: #fff;">Association</a>
  90. </li>
  91. <li>
  92. <a href="{{ path('app_evenements') }}" style="color: #fff;">Événements</a>
  93. </li>
  94. <li>
  95. <a href="{{ path('app_galerie') }}" style="color: #fff;">Galerie</a>
  96. </li>
  97. <li>
  98. <a href="{{ path('app_adhesion') }}" style="color: #fff;">Adhésion</a>
  99. </li>
  100. <li>
  101. <a href="{{ path('app_blog') }}" style="color: #fff;">Actualités</a>
  102. </li>
  103. <li>
  104. <a href="{{ path('app_contact') }}" style="color: #fff;">Contact</a>
  105. </li>
  106. <li style="margin-top: 20px;">
  107. <a href="{{ path('app_dons') }}" class="btn btn-outline" style="border-color: var(--gold); color: var(--gold); width: 100%;">Faire un don</a>
  108. </li>
  109. <li>
  110. <a href="{{ path('app_espace_membre') }}" class="btn btn-primary" style="width: 100%;">Espace Membre</a>
  111. </li>
  112. </ul>
  113. </div>
  114. </header>
  115. <!-- Main Content -->
  116. <main>
  117. {% block body %}{% endblock %}
  118. </main>
  119. <!-- Footer -->
  120. <footer class="main-footer">
  121. <div class="container">
  122. <div class="footer-grid">
  123. <div class="footer-col about">
  124. <h3>WA BENIN</h3>
  125. <p>Association culturelle dédiée à la promotion et au rayonnement de la culture béninoise à travers le monde.</p>
  126. <div class="social-links">
  127. <a href="#">
  128. <i class="fab fa-facebook-f"></i>
  129. </a>
  130. <a href="#">
  131. <i class="fab fa-instagram"></i>
  132. </a>
  133. <a href="#">
  134. <i class="fab fa-twitter"></i>
  135. </a>
  136. <a href="#">
  137. <i class="fab fa-youtube"></i>
  138. </a>
  139. </div>
  140. </div>
  141. <div class="footer-col links">
  142. <h4>Liens Rapides</h4>
  143. <ul>
  144. <li><ahref="{{path('app_association')}}">Notre Histoire</a></li>
  145. <li><ahref="{{path('app_adhesion')}}">Adhésion</a></li>
  146. <li><ahref="{{path('app_sponsoring')}}">Devenir Sponsor</a></li>
  147. <li><ahref="{{path('app_espace_membre')}}">Espace Membre</a></li>
  148. </ul>
  149. </div>
  150. <div class="footer-col contact">
  151. <h4>Contact</h4>
  152. <p>
  153. <i class="fas fa-map-marker-alt"></i>
  154. 115 boulevard Jourdan 75014 Paris 14e</p>
  155. <p>
  156. <i class="fas fa-envelope"></i>
  157. contact@wabenin.org</p>
  158. <p>
  159. <i class="fas fa-phone"></i>
  160. +33 07 56 90 60 34</p>
  161. </div>
  162. <div class="footer-col newsletter">
  163. <h4>Newsletter</h4>
  164. <p>Restez informé de nos actualités.</p>
  165. <form class="newsletter-form">
  166. <input type="email" placeholder="Votre email" required>
  167. <button type="submit">
  168. <i class="fas fa-paper-plane"></i>
  169. </button>
  170. </form>
  171. </div>
  172. </div>
  173. <div class="footer-bottom">
  174. <p>&copy;
  175. {{ 'now'|date('Y') }}
  176. WA BENIN. Tous droits réservés.</p>
  177. <div class="footer-legal">
  178. <a href="{{ path('app_cgu') }}">Mentions Légales & CGU</a>
  179. <a href="{{ path('app_privacy') }}">Confidentialité</a>
  180. <a href="{{ path('app_refund') }}">Remboursement</a>
  181. </div>
  182. </div>
  183. </div>
  184. </footer>
  185. <!-- GSAP for Animations -->
  186. <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
  187. <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
  188. <!-- Custom JS -->
  189. <script src="{{ asset('js/main.js') }}"></script>
  190. {% block javascripts %}{% endblock %}
  191. <script>
  192. document.addEventListener('DOMContentLoaded', function () {
  193. const mobileBtn = document.querySelector('.mobile-menu-btn');
  194. const closeBtn = document.querySelector('.mobile-menu-close');
  195. const overlay = document.querySelector('.mobile-nav-overlay');
  196. if (mobileBtn && overlay) {
  197. mobileBtn.addEventListener('click', () => {
  198. overlay.style.display = 'flex';
  199. document.body.style.overflow = 'hidden';
  200. });
  201. }
  202. if (closeBtn && overlay) {
  203. closeBtn.addEventListener('click', () => {
  204. overlay.style.display = 'none';
  205. document.body.style.overflow = 'auto';
  206. });
  207. }
  208. });
  209. </script>
  210. </body>
  211. </html>