templates/front/base.html.twig line 1

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         {% set siteSettings = app.session.get('siteSettings') %}
  5.         {% set socialsSettings = app.session.get('socialsSettings') %}
  6.         <title>{{ siteSettings.siteName|default("Kulmapeck.com") }}
  7.             {% block title %}{% endblock %}
  8.         </title>
  9.         <!-- Meta Tags -->
  10.         <meta charset="utf-8">
  11.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  12.         <meta name="author" content="Webestica.com">
  13.         <meta name="current-user-id" content="{{ app.user ? app.user.id : '' }}">
  14.         <meta
  15.         name="description" content="Kulmapeck - The Best E-learning platform">
  16.         <!-- Webpack Encore -->
  17.         {{ encore_entry_link_tags('app') }}
  18.         {% block stylesheets %}{% endblock %}
  19.         <!-- Dark mode -->
  20.         <script>
  21.             const storedTheme = localStorage.getItem('theme')
  22. const getPreferredTheme = () => {
  23. if (storedTheme) {
  24. return storedTheme
  25. }
  26. return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
  27. }
  28. const setTheme = function (theme) {
  29. if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
  30. document.documentElement.setAttribute('data-bs-theme', 'dark')
  31. } else {
  32. document.documentElement.setAttribute('data-bs-theme', theme)
  33. }
  34. }
  35. setTheme(getPreferredTheme())
  36. window.addEventListener('DOMContentLoaded', () => {
  37. var el = document.querySelector('.theme-icon-active');
  38. if (el != 'undefined' && el != null) {
  39. const showActiveTheme = theme => {
  40. const activeThemeIcon = document.querySelector('.theme-icon-active use')
  41. const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
  42. const svgOfActiveBtn = btnToActive.querySelector('.mode-switch use').getAttribute('href')
  43. document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
  44. element.classList.remove('active')
  45. })
  46. btnToActive.classList.add('active')
  47. activeThemeIcon.setAttribute('href', svgOfActiveBtn)
  48. }
  49. window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
  50. if (storedTheme !== 'light' || storedTheme !== 'dark') {
  51. setTheme(getPreferredTheme())
  52. }
  53. })
  54. showActiveTheme(getPreferredTheme())
  55. document.querySelectorAll('[data-bs-theme-value]').forEach(toggle => {
  56. toggle.addEventListener('click', () => {
  57. const theme = toggle.getAttribute('data-bs-theme-value')
  58. localStorage.setItem('theme', theme)
  59. setTheme(theme)
  60. showActiveTheme(theme)
  61. })
  62. })
  63. }
  64. })
  65.         </script>
  66.         <!-- Favicon -->
  67.         <link
  68.         rel="shortcut icon" href="{{ asset('assets/images/favicon.ico') }}">
  69.         <!-- Google Font -->
  70.         <link rel="preconnect" href="{{ asset('fonts.googleapis.com/index.html') }}">
  71.         <link rel="preconnect" href="{{ asset('fonts.gstatic.com/index.html') }}" crossorigin>
  72.         <link
  73.         rel="stylesheet" href="{{ asset('fonts.googleapis.com/css23ab4.css?family=Heebo:wght@400;500;700&amp;family=Roboto:wght@400;500;700&amp;display=swap') }}">
  74.         <!-- Plugins CSS -->
  75.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/font-awesome/css/all.min.css') }}">
  76.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/bootstrap-icons/bootstrap-icons.css') }}">
  77.         <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/apexcharts/css/apexcharts.css')}}">
  78.         <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/overlay-scrollbar/css/overlayscrollbars.min.css')}}">
  79.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/tiny-slider/tiny-slider.css') }}">
  80.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/glightbox/css/glightbox.css') }}">
  81.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/choices/css/choices.min.css') }}">
  82.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/aos/aos.css') }}">
  83.         <link rel="stylesheet" type="text/css" href="{{ asset('assets/vendor/plyr/plyr.css') }}"/> {% block stylesheet %}{% endblock %}
  84.         <style>
  85.             #quizNotification {
  86.                 display: none;
  87.                 position: fixed;
  88.                 top: 10px;
  89.                 left: 50%;
  90.                 transform: translateX(-50%);
  91.                 padding: 10px;
  92.                 color: white;
  93.                 border-radius: 5px;
  94.                 box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  95.                 z-index: 999;
  96.             }
  97.             .whatsapp-icon {
  98.                 position: fixed;
  99.                 bottom: 190px;
  100.                 right: 20px;
  101.                 width: 70px;
  102.                 height: auto;
  103.             }
  104.             
  105.         /* Start secton barner */
  106.             .banner-with-background {
  107.                 position: relative;
  108.                 background-image: url("{{ asset('assets/images/about/barner2.png') }}");
  109.                 background-size: cover;
  110.                 background-position: center;
  111.                 background-repeat: no-repeat;
  112.                 height: 100vh; /* Occupe toute la hauteur de la fenêtre */
  113.                 display: flex;
  114.                 align-items: center;
  115.                 justify-content: center;
  116.                 color: white;
  117.             }
  118.             .main-message {
  119.                 font-size: 50px; /* Taille par défaut pour PC */
  120.                 margin-bottom: 1.5rem;
  121.                 font-weight: bold;
  122.             }
  123.             .sub-message {
  124.                 font-size: 35px; /* Taille par défaut pour PC */
  125.                 margin-bottom: 1.5rem;
  126.                 font-weight: bold;
  127.                 color: #fd7e14;
  128.             }
  129.             @media (max-width: 1024) {
  130.                 .hide-login,
  131.                 .hide-btn {
  132.                     display: none;
  133.                 }
  134.             }    
  135.             @media (min-width: 768px) {
  136.                 .hide-login {
  137.                     display: none;
  138.                 }
  139.             }
  140.             /* Styles spécifiques pour mobile et tablette (écrans max 1024px) */
  141.             @media (max-width: 1024px) {
  142.                 .banner-with-background {
  143.                     background-image: none; /* Retire l'image en arrière-plan */
  144.                     background-color: #066ac9 !important; /* Bleu du site */
  145.                     height: 500px;
  146.                 }
  147.                 .main-message {
  148.                     font-size: 35px; /* Taille réduite pour mobile */
  149.                 }
  150.                 .sub-message {
  151.                     font-size: 25px; /* Taille réduite pour mobile */
  152.                 }
  153.                 .btn-custom {
  154.                     padding: 0.5rem 1rem; /* Ajuste la taille interne */
  155.                     font-size: 10px; /* Taille du texte */
  156.                     width: 150px; /* Adapte la largeur au texte */
  157.                 }
  158.     
  159.                 .barnner,
  160.                 .image-barner,
  161.                 .counter-block { 
  162.                     display: none;
  163.             
  164.                 }
  165.                 
  166.                 .counter-box {
  167.                     display: none;
  168.                 }
  169.             }
  170.             .banner-with-background::before {
  171.                 content: '';
  172.                 position: absolute;
  173.                 top: 0;
  174.                 left: 0;
  175.                 width: 100%;
  176.                 height: 100%;
  177.                 background: rgba(0, 0, 0, 0.5); /* Couche semi-transparente noire */
  178.                 backdrop-filter: blur(2px); /* Applique un effet de flou */
  179.                 z-index: 1;
  180.             }
  181.             .banner-with-background .container {
  182.                 position: relative;
  183.                 z-index: 2; /* Assure que le texte est visible au-dessus de la couche floue */
  184.             }
  185.             
  186.         /* End secton barner */
  187.         </style>
  188.         <!-- Theme CSS -->
  189.         <link
  190.         rel="stylesheet" type="text/css" href="{{ asset('assets/css/style.css') }}">
  191.         <!-- Global site tag (gtag.js) - Google Analytics -->
  192.         <script async src="https://www.googletagmanager.com/gtag/js?id=G-7N7LGGGWT1"></script>
  193.         <script>
  194.             window.dataLayer = window.dataLayer || [];
  195. function gtag() {
  196. dataLayer.push(arguments);
  197. }
  198. gtag('js', new Date());
  199. gtag('config', 'G-7N7LGGGWT1');
  200.         </script>
  201.         {% block headJS %}{% endblock %}
  202.     </head>
  203.     <body 
  204.         data-user-id="{{ app.user ? app.user.id : '' }}"
  205.         {# data-auth-token="{{ app.user ? app.user.chatToken : '' }}" #}
  206.         data-chat-type="{{ app.request.attributes.get('_route') starts with 'student_' ? 'student' : 'general' }}"
  207.         class="">
  208.         {% block header %}
  209.             <!-- Header START -->
  210.             <header class="navbar-light navbar-sticky header-static">
  211.                 
  212.                 <!-- Nav START -->
  213.                 <nav class="navbar navbar-expand-xl">
  214.                     <div
  215.                         class="container-fluid px-3 px-xl-5">
  216.                         <!-- Logo START -->
  217.                         <a class="navbar-brand" href="{{ path('app_front') }}">
  218.                             <img class="light-mode-item navbar-brand-item" src="{{ asset('assets/images/logo.svg') }}" alt="logo">
  219.                             <img class="dark-mode-item navbar-brand-item" src="{{ asset('assets/images/logo-light.svg') }}" alt="logo">
  220.                         </a>
  221.                         <!-- Logo END -->
  222.                         <!-- Responsive navbar toggler -->
  223.                         <button class="navbar-toggler ms-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
  224.                             <span class="navbar-toggler-animation">
  225.                                 <span></span>
  226.                                 <span></span>
  227.                                 <span></span>
  228.                             </span>
  229.                         </button>
  230.                         <!-- Main navbar START -->
  231.                         <div
  232.                             class="navbar-collapse w-100 collapse" id="navbarCollapse">
  233.                             <!-- Nav category menu START -->
  234.                             <ul
  235.                                 class="navbar-nav navbar-nav-scroll me-auto">
  236.                                 <!-- Nav item 1 Demos -->
  237.                                 <li class="nav-item dropdown dropdown-menu-shadow-stacked">
  238.                                     <a class="nav-link bg-primary bg-opacity-10 rounded-3 text-primary px-3 py-3 py-xl-0" href="#" id="categoryMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  239.                                         <i class="bi bi-ui-radios-grid me-2"></i>
  240.                                         <span>Categories</span>
  241.                                     </a>
  242.                                     {{ render(url("app_front_header_categories")) }}
  243.                                 </li>
  244.                             </ul>
  245.                             <!-- Nav category menu END -->
  246.                             <!-- Nav Main menu START -->
  247.                             <ul
  248.                                 class="navbar-nav navbar-nav-scroll me-auto">
  249.                                 <!-- Nav item 1 Demos -->
  250.                                 <li class="nav-item">
  251.                                     <a class="nav-link {{ isHomePage is defined ? 'active' : '' }}" href="{{ path('app_front') }}" id="demoMenu" aria-haspopup="true" aria-expanded="false">
  252.                                         {% trans %}HOME_KEY{% endtrans %}
  253.                                     </a>
  254.                                 </li>
  255.                                 <!-- Nav item 2 Pages -->
  256.                                 {# <li class="nav-item dropdown">
  257.                                                                                                                                                                                             <a class="nav-link" href="" id="pagesMenu" aria-haspopup="true" aria-expanded="false">Courses</a>
  258.                                                                                                                                                                                         </li> #}
  259.                                 <!-- Nav item 4 Megamenu-->
  260.                                     <li class="nav-item dropdown dropdown-fullwidth"> <a class="nav-link dropdown-toggle {{ isCoursePage is defined ? 'active' : '' }}" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{% trans %}COURSESFORMATION_KEY{% endtrans %}</a>
  261.                                     <div class="dropdown-menu dropdown-menu-end" data-bs-popper="none">
  262.                                         {{ render(url("app_front_header_courses_and_formations")) }}
  263.                                     </div>
  264.                                 </li>
  265.                                 <li class="nav-item">
  266.                                     <a class="nav-link {{ isExamPage is defined ? 'active' : '' }}" href="{{ path('app_front_exam_index') }}" aria-haspopup="true" aria-expanded="false">{% trans %}EXAM_KEY{% endtrans %}</a>
  267.                                 </li>
  268.                                 <!-- Nav item 3 Account -->
  269.                                 <li class="nav-item">
  270.                                     <a class="nav-link {{ isForumMainPage is defined ? 'active' : '' }}" href="{{ url('app_front_forum_index') }}" aria-haspopup="true" aria-expanded="false">{% trans %}FORUM_KEY{% endtrans %}</a>
  271.                                 </li>
  272.                                 <!-- Nav item 3 Account -->
  273.                                 {% if not app.user or (app.user.eleve and not app.user.eleve.isPremium) %}
  274.                                     <li class="nav-item">
  275.                                         <a class="nav-link" href="{{ path('app_plan') }}" aria-haspopup="true" aria-expanded="false">
  276.                                             <b class="badge bg-success">{% trans %}BECOME_PREMIUM_KEY{% endtrans %}</b>
  277.                                         </a>
  278.                                     </li>
  279.                                 {% endif %}
  280.                                <!-- Nav item 3 Account -->
  281.                                 {% if not app.user %}
  282.                                     <li class="nav-item">
  283.                                         <a class="nav-link" href="#" data-bs-toggle="modal" data-bs-target="#coursePremium" aria-haspopup="true" aria-expanded="false">
  284.                                             <b class="badge bg-success">Créer un compte</b>
  285.                                         </a>
  286.                                     </li>
  287.                                 {% endif %}
  288.                                 <!-- Nav item 3 Account -->
  289.                                 {% if not app.user %}
  290.                                     <li class="nav-item  hide-login">
  291.                                         <a class="nav-link" href="{{ path('app_login') }}" aria-haspopup="true" aria-expanded="false">
  292.                                            <b class="badge bg-success">{% trans %}SIGNIN_KEY{% endtrans %}</b>
  293.                                         </a>
  294.                                     </li>
  295.                                 {% endif %}
  296.                             </ul>
  297.                             <!-- Nav Main menu END -->
  298.                             <!-- Nav Search START -->
  299.                             <div class="nav my-3 my-xl-0 px-4 flex-nowrap align-items-center">
  300.                                 <div class="nav-item w-100">
  301.                                     <form class="position-relative" action="{{ url("app_front_courses") }}">
  302.                                         <input class="form-control pe-5 bg-transparent" type="search" placeholder="{% trans %}SEARCH_KEY{% endtrans %}" name="search" required aria-label="Search">
  303.                                         <button class="bg-transparent p-2 position-absolute top-50 end-0 translate-middle-y border-0 text-primary-hover text-reset" type="submit">
  304.                                             <i class="fas fa-search fs-6 "></i>
  305.                                         </button>
  306.                                     </form>
  307.                                 </div>
  308.                             </div>
  309.                             <!-- Nav Search END -->
  310.                         </div>
  311.                         <!-- Main navbar END -->
  312.                         <div class="dropdown mt-0 text-center text-sm-end">
  313.                             <a class="dropdown-toggle nav-link" style="padding-right: 15px" href="#" role="button" id="languageSwitcher" data-bs-toggle="dropdown" aria-expanded="false">
  314.                                 <i class="fas fa-globe me-2"></i>
  315.                                 {% if app.session.get('_locale') == 'en'  %}
  316.                                     {% trans %}ENGLISH_KEY{% endtrans %}
  317.                                 {% else %}
  318.                                     {% trans %}FRENCH_KEY{% endtrans %}
  319.                                 {% endif %}
  320.                             </a>
  321.                             <ul class="dropdown-menu min-w-auto" aria-labelledby="languageSwitcher">
  322.                                 <li>
  323.                                     <a class="dropdown-item me-4 {{ app.session.get('_locale') is same as 'en' ? 'active' : '' }}" href="{{ url('app_security_change_language', {lang: 'en'}) }}"><img class="fa-fw me-2" src="{{ asset('assets/images/flags/uk.svg') }}" alt="">{% trans %}ENGLISH_KEY{% endtrans %}</a>
  324.                                 </li>
  325.                                 <li>
  326.                                     <a class="dropdown-item me-4 {{ app.session.get('_locale') is same as 'fr' ? 'active' : '' }}" href="{{ url('app_security_change_language', {lang: 'fr'}) }}"><img class="fa-fw me-2" src="{{ asset('assets/images/flags/sp.svg') }}" alt="">{% trans %}FRENCH_KEY{% endtrans %}</a>
  327.                                 </li>
  328.                             </ul>
  329.                         </div>
  330.                         <!-- Profile START -->
  331.                         {% if app.user %}
  332.                             <div class="dropdown ms-1 ms-lg-0">
  333.                                 <a class="avatar avatar-sm p-0" href="#" id="profileDropdown" role="button" data-bs-auto-close="outside" data-bs-display="static" data-bs-toggle="dropdown" aria-expanded="false">
  334.                                     <img class="avatar-img rounded-circle" src="{{ asset(app.user.personne.avatarPath) }}" alt="avatar">
  335.                                 </a>
  336.                                 <ul
  337.                                     class="dropdown-menu dropdown-animation dropdown-menu-end shadow pt-3" aria-labelledby="profileDropdown">
  338.                                     <!-- Profile info -->
  339.                                     <li class="px-3 mb-3">
  340.                                         <div
  341.                                             class="d-flex align-items-center">
  342.                                             <!-- Avatar -->
  343.                                             <div class="avatar me-3">
  344.                                                 <img class="avatar-img rounded-circle shadow" src="{{ asset(app.user.personne.avatarPath) }}" alt="avatar">
  345.                                             </div>
  346.                                             <div>
  347.                                                 <a class="h6" href="#">{{ app.user.personne.pseudo }}</a>
  348.                                                 <p class="small m-0">{{ app.user.userIdentifier }}</p>
  349.                                             </div>
  350.                                         </div>
  351.                                     </li>
  352.                                     <li>
  353.                                         <hr class="dropdown-divider"></li>
  354.                                     <!-- Links -->
  355.                                     <li>
  356.                                         <a class="dropdown-item" href="{{ url("app_home") }}">
  357.                                             <i class="bi bi-person fa-fw me-2"></i>
  358.                                             {% trans %}DASHBOARD_KEY{% endtrans %}</a>
  359.                                     </li>
  360.                                     {% if is_granted('ROLE_INSTRUCTOR') %}
  361.                                         <li>
  362.                                             <a class="dropdown-item" href="{{ url("app_instructor_profile") }}">
  363.                                                 <i class="bi bi-gear fa-fw me-2"></i>
  364.                                                 {% trans %}EDIT_PROFILE_KEY{% endtrans %}</a>
  365.                                         </li>
  366.                                     {% elseif is_granted('ROLE_STUDENT') %}
  367.                                         <li>
  368.                                             <a class="dropdown-item" href="">
  369.                                                 <i class="bi bi-gear fa-fw me-2"></i>
  370.                                                 {% trans %}EDIT_PROFILE_KEY{% endtrans %}</a>
  371.                                         </li>
  372.                                     {% endif %}
  373.                                     <li>
  374.                                         <a class="dropdown-item" href="#">
  375.                                             <i class="bi bi-info-circle fa-fw me-2"></i>
  376.                                             {% trans %}HELP_KEY{% endtrans %}</a>
  377.                                     </li>
  378.                                     <li>
  379.                                         <a class="dropdown-item bg-danger-soft-hover" href="{{ url("app_logout") }}">
  380.                                             <i class="bi bi-power fa-fw me-2"></i>
  381.                                             {% trans %}SIGNOUT_KEY{% endtrans %}</a>
  382.                                     </li>
  383.                                     <li>
  384.                                         <hr class="dropdown-divider"></li>
  385.                                     <!-- Dark mode options START -->
  386.                                     <li>
  387.                                         <div class="bg-light dark-mode-switch theme-icon-active d-flex align-items-center p-1 rounded mt-2">
  388.                                             <button type="button" class="btn btn-sm mb-0" data-bs-theme-value="light">
  389.                                                 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-sun fa-fw mode-switch" viewbox="0 0 16 16">
  390.                                                     <path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
  391.                                                     <use href="#"></use>
  392.                                                 </svg>
  393.                                                 {% trans %}LIGHT_KEY{% endtrans %}
  394.                                             </button>
  395.                                             <button type="button" class="btn btn-sm mb-0" data-bs-theme-value="dark">
  396.                                                 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-moon-stars fa-fw mode-switch" viewbox="0 0 16 16">
  397.                                                     <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z"/>
  398.                                                     <path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"/>
  399.                                                     <use href="#"></use>
  400.                                                 </svg>
  401.                                                 {% trans %}DARK_KEY{% endtrans %}
  402.                                             </button>
  403.                                             <button type="button" class="btn btn-sm mb-0 active" data-bs-theme-value="auto">
  404.                                                 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-half fa-fw mode-switch" viewbox="0 0 16 16">
  405.                                                     <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
  406.                                                     <use href="#"></use>
  407.                                                 </svg>
  408.                                                 {% trans %}AUTO_KEY{% endtrans %}
  409.                                             </button>
  410.                                         </div>
  411.                                     </li>
  412.                                     <!-- Dark mode options END-->
  413.                                 </ul>
  414.                             </div>
  415.                         {% else %}
  416.                             <div class="navbar-nav d-none d-md-inline">
  417.                                 <a href="{{ path('app_login') }}" class="btn btn-sm btn-dark mb-0">
  418.                                     <i class="bi bi-power me-2"></i>
  419.                                     {% trans %}SIGNIN_KEY{% endtrans %}</a>
  420.                             </div>
  421.                         {% endif %}
  422.                         <!-- Profile START -->
  423.                     </div>
  424.                 </nav>
  425.                 <!-- Nav END -->
  426.             </header>
  427.             <!-- Header END -->
  428.         {% endblock %}
  429.         <!-- **************** MAIN CONTENT START **************** -->
  430.         <main>
  431.             <!-- =======================
  432.                                                                     Main Banner START -->
  433.             {% block mainBarnner %}{% endblock %}
  434.             <!-- =======================
  435.                                                                     Main Banner END -->
  436.             {% block mainContent %}{% endblock %}
  437.         </main>
  438.         <!-- **************** MAIN CONTENT END **************** -->
  439.         {% block footer %}
  440.             <!-- =======================
  441.                                                                 Footer START -->
  442.             <footer class="pt-5">
  443.                 <div
  444.                     class="container">
  445.                     <!-- Row START -->
  446.                     <div
  447.                         class="row g-4">
  448.                         <!-- Widget 1 START -->
  449.                         <div
  450.                             class="col-lg-3">
  451.                             <!-- logo -->
  452.                             <a class="me-0" href="{{ path('app_home') }}">
  453.                                 <img class="light-mode-item h-40px" src="{{ asset('assets/images/logo.svg') }}" alt="logo">
  454.                                 <img class="dark-mode-item h-40px" src="{{ asset('assets/images/logo-light.svg') }}" alt="logo">
  455.                             </a>
  456.                             <a href="https://wa.me/+237698809093" title="Nous rejoindre sur Whatsapp" target="_blank" class="whatsapp-icon">
  457.                                 <img src="{{ asset('assets/images/icone-whatsapp.png') }}" alt="WhatsApp"/>
  458.                             </a>
  459.                             <p class="my-3">{{ siteSettings.siteDescription|default('') }}</p>
  460.                             <!-- Social media icon -->
  461.                             <ul class="list-inline mb-0 mt-3">
  462.                                 {% for item in socialsSettings %}
  463.                                     {% if item.icon|lower is same as 'fa-facebook-f' %}
  464.                                         <li class="list-inline-item">
  465.                                             <a target="_blank" class="btn btn-white btn-sm shadow px-2 text-facebook" href="{{ item.link }}">
  466.                                                 <i class="fab fa-fw fa-facebook-f"></i>
  467.                                             </a>
  468.                                         </li>
  469.                                     {% elseif item.icon|lower is same as 'fa-instagram' %}
  470.                                         <li class="list-inline-item">
  471.                                             <a target="_blank" class="btn btn-white btn-sm shadow px-2 text-instagram" href="{{ item.link }}">
  472.                                                 <i class="fab fa-fw fa-instagram"></i>
  473.                                             </a>
  474.                                         </li>
  475.                                     {% elseif item.icon|lower is same as 'fa-fw fa-twitter' %}
  476.                                         <li class="list-inline-item">
  477.                                             <a target="_blank" class="btn btn-white btn-sm shadow px-2 text-twitter" href="{{ item.link }}">
  478.                                                 <i class="fab fa-fw fa-twitter"></i>
  479.                                             </a>
  480.                                         </li>
  481.                                     {% elseif item.icon|lower is same as 'fa-linkedin-in' %}
  482.                                         <li class="list-inline-item">
  483.                                             <a target="_blank" class="btn btn-white btn-sm shadow px-2 text-linkedin" href="{{ item.link }}">
  484.                                                 <i class="fab fa-fw fa-linkedin-in"></i>
  485.                                             </a>
  486.                                         </li>
  487.                                     {% elseif item.icon|lower is same as 'fa-youtube' %}
  488.                                         <li class="list-inline-item">
  489.                                             <a target="_blank" class="btn btn-white btn-sm shadow px-2 text-danger" href="{{ item.link }}">
  490.                                                 <i class="fab fa-fw fa-youtube"></i>
  491.                                             </a>
  492.                                         </li>
  493.                                     {% endif %}
  494.                                 {% endfor %}
  495.                             </ul>
  496.                         </div>
  497.                         <!-- Widget 1 END -->
  498.                         <!-- Widget 2 START -->
  499.                         <div class="col-lg-6">
  500.                             <div
  501.                                 class="row g-4">
  502.                                 <!-- Link block -->
  503.                                 <div class="col-6 col-md-4">
  504.                                     <h5 class="mb-2 mb-md-4">{% trans %}COMPANY_KEY{% endtrans %}</h5>
  505.                                     <ul class="nav flex-column">
  506.                                         <li class="nav-item">
  507.                                             <a class="nav-link" href="{{ path('app_front_courses') }}">{% trans %}COURSES_KEY{% endtrans %}</a>
  508.                                         </li>
  509.                                         <li class="nav-item">
  510.                                             <a class="nav-link" href="{{ path('app_front_exam_index') }}">{% trans %}EXAM_KEY{% endtrans %}</a>
  511.                                         </li>
  512.                                         <li class="nav-item">
  513.                                             <a class="nav-link" href="{{ path('app_front_about') }}">{% trans %}ABOUTUS_KEY{% endtrans %}</a>
  514.                                         </li>
  515.                                         <li class="nav-item">
  516.                                             <a class="nav-link" href="{{ path('app_front_contact') }}">{% trans %}CONTACTUS_KEY{% endtrans %}</a>
  517.                                         </li>
  518.                                     </ul>
  519.                                 </div>
  520.                                 <!-- Link block -->
  521.                                 <div class="col-6 col-md-4">
  522.                                     <h5 class="mb-2 mb-md-4">{% trans %}COMMUNITY_KEY{% endtrans %}</h5>
  523.                                     <ul class="nav flex-column">
  524.                                         <li class="nav-item">
  525.                                             <a class="nav-link" href="{{ url('app_front_faq') }}">{% trans %}FAQ_KEY{% endtrans %}</a>
  526.                                         </li>
  527.                                         <li class="nav-item">
  528.                                             <a class="nav-link" href="{{ url('app_front_forum_index') }}">{% trans %}FORUM_KEY{% endtrans %}</a>
  529.                                         </li>
  530.                                         <li class="nav-item">
  531.                                             <a class="nav-link" href="#">{% trans %}SITEMAP_KEY{% endtrans %}</a>
  532.                                         </li>
  533.                                     </ul>
  534.                                 </div>
  535.                                 <!-- Link block -->
  536.                                 <div class="col-6 col-md-4">
  537.                                     <h5 class="mb-2 mb-md-4">{% trans %}TEACHING_KEY{% endtrans %}</h5>
  538.                                     <ul class="nav flex-column">
  539.                                         <li class="nav-item">
  540.                                             <a class="nav-link" href="{{ url('app_become_teacher') }}">{% trans %}BECOMEATEACKER_KEY{% endtrans %}</a>
  541.                                         </li>
  542.                                         <li class="nav-item">
  543.                                             <a class="nav-link" href="{{ url('app_become_teacher') }}#contactTitle">{% trans %}HOWTOGUIDE_KEY{% endtrans %}</a>
  544.                                         </li>
  545.                                         <li class="nav-item">
  546.                                             <a class="nav-link" href="{{ url('app_terms') }}">{% trans %}TERMSANDCONDITIONS_KEY{% endtrans %}</a>
  547.                                         </li>
  548.                                     </ul>
  549.                                 </div>
  550.                             </div>
  551.                         </div>
  552.                         <!-- Widget 2 END -->
  553.                         <!-- Widget 3 START -->
  554.                         <div class="col-lg-3">
  555.                             <h5 class="mb-2 mb-md-4">{% trans %}CONTACT_KEY{% endtrans %}</h5>
  556.                             <!-- Time -->
  557.                             <p class="mb-2">
  558.                                 {% trans %}TOLLFREE_KEY{% endtrans %}:<span class="h6 fw-light ms-2">{{ siteSettings.contactPhone|default('+237650967064') }}</span>
  559.                                 <span class="d-block small">(9:AM to 8:PM IST)</span>
  560.                             </p>
  561.                             <p class="mb-0">{% trans %}EMAIL_KEY{% endtrans %}:<span class="h6 fw-light ms-2">{{ siteSettings.supportEmail|default('akouma.net@gmail.com') }}</span>
  562.                             </p>
  563.                             <div
  564.                                 class="row g-2 mt-2">
  565.                                 <!-- Google play store button -->
  566.                                 <div class="col-6 col-sm-4 col-md-3 col-lg-6">
  567.                                     <a href="https://play.google.com/store/apps/details?id=com.thealphamerc.kulmapeck&pcampaignid=web_share">
  568.                                         <img src="{{ asset('assets/images/client/google-play.svg') }}" alt="">
  569.                                     </a>
  570.                                 </div>
  571.                                 <!-- App store button -->
  572.                                 <div class="col-6 col-sm-4 col-md-3 col-lg-6">
  573.                                     <a href="https://play.google.com/store/apps/details?id=com.thealphamerc.kulmapeck&pcampaignid=web_share">
  574.                                         <img src="{{ asset('assets/images/client/app-store.svg') }}" alt="app-store">
  575.                                     </a>
  576.                                 </div>
  577.                             </div>
  578.                             <!-- Row END -->
  579.                         </div>
  580.                         <!-- Widget 3 END -->
  581.                     </div>
  582.                     <!-- Row END -->
  583.                     <!-- Divider -->
  584.                     <hr
  585.                     class="mt-4 mb-0">
  586.                     <!-- Bottom footer -->
  587.                     <div class="py-3">
  588.                         <div class="container px-0">
  589.                             <div
  590.                                 class="d-lg-flex justify-content-between align-items-center py-3 text-center text-md-left">
  591.                                 <!-- copyright text -->
  592.                                 <div class="text-primary-hover">{{ siteSettings.siteCopyrights|default('Copyrights 2023 Sensei237. All rights reserved') }}</div>
  593.                                 <!-- copyright links-->
  594.                                 <div class="justify-content-center mt-3 mt-lg-0">
  595.                                     <ul class="nav list-inline justify-content-center mb-0">
  596.                                         <li
  597.                                             class="list-inline-item">
  598.                                             <!-- Language selector -->
  599.                                             <div class="dropup mt-0 text-center text-sm-end">
  600.                                                 <a class="dropdown-toggle nav-link" href="#" role="button" id="languageSwitcher" data-bs-toggle="dropdown" aria-expanded="false">
  601.                                                     <i class="fas fa-globe me-2"></i>
  602.                                                     {% trans %}LANGUAGE_KEY{% endtrans %}
  603.                                                 </a>
  604.                                                 <ul class="dropdown-menu min-w-auto" aria-labelledby="languageSwitcher">
  605.                                                     <li>
  606.                                                         <a class="dropdown-item me-4" href="#"><img class="fa-fw me-2" src="{{ asset('assets/images/flags/uk.svg') }}" alt="">{% trans %}ENGLISH_KEY{% endtrans %}</a>
  607.                                                     </li>
  608.                                                     <li>
  609.                                                         <a class="dropdown-item me-4" href="#"><img class="fa-fw me-2" src="{{ asset('assets/images/flags/sp.svg') }}" alt="">{% trans %}FRENCH_KEY{% endtrans %}</a>
  610.                                                     </li>
  611.                                                 </ul>
  612.                                             </div>
  613.                                         </li>
  614.                                         <li class="list-inline-item">
  615.                                             <div class="dropup mt-0 text-center text-sm-end">
  616.                                                 <a class="dropdown-toggle nav-link" href="#" role="button" id="languageSwitcher" data-bs-toggle="dropdown" aria-expanded="false">
  617.                                                     <i class="fas fa-globe me-2"></i>
  618.                                                     {% trans %}APPARANCE_KEY{% endtrans %}
  619.                                                 </a>
  620.                                                 <ul class="dropdown-menu min-w-auto bg-light dark-mode-switch theme-icon-active">
  621.                                                     <li>
  622.                                                         <a href="#" class="dropdown-item me-4" data-bs-theme-value="light">
  623.                                                             <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-sun fa-fw mode-switch" viewbox="0 0 16 16">
  624.                                                                 <path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
  625.                                                                 <use href="#"></use>
  626.                                                             </svg>
  627.                                                             {% trans %}LIGHT_KEY{% endtrans %}
  628.                                                         </a>
  629.                                                     </li>
  630.                                                     <li>
  631.                                                         <a href="#" class="dropdown-item me-4" data-bs-theme-value="dark">
  632.                                                             <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-moon-stars fa-fw mode-switch" viewbox="0 0 16 16">
  633.                                                                 <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z"/>
  634.                                                                 <path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"/>
  635.                                                                 <use href="#"></use>
  636.                                                             </svg>
  637.                                                             {% trans %}DARK_KEY{% endtrans %}
  638.                                                         </a>
  639.                                                     </li>
  640.                                                     <li>
  641.                                                         <a href="#" class="dropdown-item me-4 active" data-bs-theme-value="auto">
  642.                                                             <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-half fa-fw mode-switch" viewbox="0 0 16 16">
  643.                                                                 <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
  644.                                                                 <use href="#"></use>
  645.                                                             </svg>
  646.                                                             {% trans %}AUTO_KEY{% endtrans %}
  647.                                                         </a>
  648.                                                     </li>
  649.                                                 </ul>
  650.                                             </div>
  651.                                         </li>
  652.                                         <li class="list-inline-item">
  653.                                             <a class="nav-link" href="{{ url('app_terms') }}">{% trans %}TERMSOFUSE_KEY{% endtrans %}</a>
  654.                                         </li>
  655.                                         <li class="list-inline-item">
  656.                                             <a class="nav-link pe-0" href="{{ url('app_terms') }}">{% trans %}PRIVACYPOLICY_KEY{% endtrans %}</a>
  657.                                         </li>
  658.                                     </ul>
  659.                                 </div>
  660.                             </div>
  661.                         </div>
  662.                     </div>
  663.                 </div>
  664.             </footer>
  665.             <!-- =======================
  666.                                                                 Footer END -->
  667.         {% endblock %}
  668.         {% if app.session.get('annonce') and app.session.get('showAnnonces') and dontShowAnnonces is not defined %}
  669.             {{ include('front/evaluation/_annonces.html.twig', {'annonce': app.session.get('annonce'), 'isForPrommedTest': true}) }}
  670.         {% endif %}
  671.         {% if app.session.get('currentEvaluation') and dontShowAnnonces is not defined %}
  672.             {{ include('front/evaluation/_annonces.html.twig', {'annonce': app.session.get('currentEvaluation'), 'isForCurrentTest': true}) }}
  673.         {% endif %}
  674.         {% if app.flashes('notification') %}
  675.             <div id="bottom-notification" style="position: fixed;bottom: 5px;right: 15px; min-height: 0px;z-index: 200;min-width: 400px;">
  676.                 <div class="card">
  677.                     <div class="card-header"></div>
  678.                     <div class="card-body">
  679.                         {% for message in app.flashes('notification') %}
  680.                             <div class="alert alert-danger alert-dismissible">
  681.                                 <p>{{ message }}</p>
  682.                             </div>
  683.                         {% endfor %}
  684.                     </div>
  685.                 </div>
  686.             </div>
  687.         {% endif %}
  688.         <!-- Back to top -->
  689.         <div class="back-top">
  690.             <i class="bi bi-arrow-up-short position-absolute top-50 start-50 translate-middle"></i>
  691.         </div>
  692.         {% if isReadLessonPage is defined and isReadLessonPage %}
  693.             <a href="{{ url("app_front_course_forum_index", {slug: course.slug}) }}" class="text-primary-hover" title="{% trans %}GOTOFORUM_KEY{% endtrans %}" data-bs-toggle="tooltip" style="color: var(--bs-danger);position: fixed;bottom: 50%; left: 40px;z-index: 100;width: 52px;height: 52px;line-height: 52px;text-align: center;display: block;cursor: pointer;visibility: visible; transition: all 0.3s ease-in-out;background: rgba(var(--bs-danger-rgb), 0.1);">
  694.                 <i class="bi bi-chat-right-text-fill position-absolute top-50 start-50 translate-middle"></i>
  695.             </a>
  696.         {% endif %}
  697.         {% if isForumPage is defined and isForumPage %}
  698.             <a href="{{ url("app_front_course_details", {slug: course.slug}) }}" class="text-primary-hover" title="{% trans %}BACKTOCOURSEDETAILS_KEY{% endtrans %}" data-bs-toggle="tooltip" style="color: var(--bs-danger);position: fixed;bottom: 50%; left: 40px;z-index: 100;width: 52px;height: 52px;line-height: 52px;text-align: center;display: block;cursor: pointer;visibility: visible; transition: all 0.3s ease-in-out;background: rgba(var(--bs-danger-rgb), 0.1);">
  699.                 <i class="bi bi-arrow-left-square-fill position-absolute top-50 start-50 translate-middle"></i>
  700.             </a>
  701.         {% endif %}
  702.         <!-- Modal START -->
  703.         <div class="modal fade" id="coursePremium" tabindex="-1" aria-hidden="true">
  704.             <div class="modal-dialog modal-dialog-centered modal-lg">
  705.                 <div class="modal-content">
  706.                     <div
  707.                         class="modal-header border-0 bg-transparent">
  708.                         <!-- Close button -->
  709.                         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  710.                     </div>
  711.                     <!-- Modal body -->
  712.                     <div
  713.                         class="modal-body px-5 pb-5 position-relative overflow-hidden">
  714.                         <!-- Element -->
  715.                         <figure class="position-absolute bottom-0 end-0 mb-n4 me-n4 d-none d-sm-block">
  716.                             <img src="assets/images/element/01.svg" alt="element">
  717.                         </figure>
  718.                         <figure class="position-absolute top-0 end-0 z-index-n1 opacity-2">
  719.                             <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="818.6px" height="235.1px" viewbox="0 0 818.6 235.1">
  720.                                 <path class="fill-info" d="M735,226.3c-5.7,0.6-11.5,1.1-17.2,1.7c-66.2,6.8-134.7,13.7-192.6-16.6c-34.6-18.1-61.4-47.9-87.3-76.7 c-21.4-23.8-43.6-48.5-70.2-66.7c-53.2-36.4-121.6-44.8-175.1-48c-13.6-0.8-27.5-1.4-40.9-1.9c-46.9-1.9-95.4-3.9-141.2-16.5 C8.3,1.2,6.2,0.6,4.2,0H0c3.3,1,6.6,2,10,3c46,12.5,94.5,14.6,141.5,16.5c13.4,0.6,27.3,1.1,40.8,1.9 c53.4,3.2,121.5,11.5,174.5,47.7c26.5,18.1,48.6,42.7,70,66.5c26,28.9,52.9,58.8,87.7,76.9c58.3,30.5,127,23.5,193.3,16.7 c5.8-0.6,11.5-1.2,17.2-1.7c26.2-2.6,55-4.2,83.5-2.2v-1.2C790,222,761.2,223.7,735,226.3z"></path>
  721.                             </svg>
  722.                         </figure>
  723.                         <!-- Title -->
  724.                         <h2>{% trans %}CHOOSETYPEUSERACCOUNT_KEY{% endtrans %}</span>
  725.                     </h2>
  726.                     <p>{% trans %}ACCOUNTMODALDESCRIPTION_KEY{% endtrans %}</p>
  727.                     <!-- Content -->
  728.                     <div class="row mb-3 item-collapse">
  729.                         <div class="col-sm-6">
  730.                             <a href="{{ path('app_front_register', {type: 'trainer'}) }}">
  731.                                 <img src="{{ asset('assets/images/avatar/prof-avatar.jpg') }}" class="rounded-3 mb-3" alt="...">
  732.                                 <caption class="text-center mt-3">{% trans %}TEACHER_KEY{% endtrans %}</caption>
  733.                             </a>
  734.                         </div>
  735.                         <div class="col-sm-6">
  736.                             <a href="{{ path('app_front_register', {type: 'student'}) }}">
  737.                                 <img src="{{ asset('assets/images/avatar/eleve-avatar.jpg') }}" class="rounded-3 mb-3" alt="...">
  738.                                 <caption class="text-center mt-3">{% trans %}STUDENT_KEY{% endtrans %}</caption>
  739.                             </a>
  740.                         </div>
  741.                     </div>
  742.                 </div>
  743.             </div>
  744.         </div>
  745.     </body>
  746. </html></div><!-- Modal END -->{% if app.user and membre is defined and membre is not null %}
  747. <!-- Modal START -->
  748. <div class="modal fade" id="replyForumMessage" tabindex="-1" aria-hidden="true">
  749.     <div class="modal-dialog modal-lg">
  750.         <div class="modal-content">
  751.             <div
  752.                 class="modal-header border-0 bg-transparent">
  753.                 <!-- Close button -->
  754.                 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  755.             </div>
  756.             <!-- Modal body -->
  757.             <div class="modal-body px-5 pb-5 position-relative overflow-hidden">
  758.                 <div
  759.                     class="d-flex mb-4 mt-3">
  760.                     <!-- Avatar -->
  761.                     <div class="avatar avatar-sm flex-shrink-0 me-2">
  762.                         <a href="#">
  763.                             <img class="avatar-img rounded-circle" src="{{ asset(app.user.personne.avatarPath) }}" alt="">
  764.                         </a>
  765.                     </div>
  766.                     <form class="w-100 d-flex" method="POST" action="{{ path("app_course_reply_forum_message") }}">
  767.                         <input type="hidden" name="reply" id="reply">
  768.                         <input type="hidden" name="membre" id="membre">
  769.                         <input type="hidden" name="response_container" id="response_container">
  770.                         <textarea name="replyMessage" required id="replyTexarea" class="one form-control pe-4 bg-light" placeholder="{% trans %}ADDCOMMENT_KEY{% endtrans %}" rows="3"></textarea>
  771.                         <button class="btn btn-primary ms-2 mb-0" type="submit">
  772.                             <i class="fas fa-paper-plane"></i>
  773.                         </button>
  774.                     </form>
  775.                 </div>
  776.             </div>
  777.         </div>
  778.     </div>
  779. </div>
  780. <!-- Modal END -->{% endif %}<!-- Vendors -->{% block jquery %}
  781. <script src="{{ asset('assets/vendor/jquery/jquery-3.6.4.min.js') }}"></script>{% endblock %}<!-- Bootstrap JS --><script src="{{ asset('assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>{% block script1 %}
  782. <!-- Vendors -->
  783. <script src="{{ asset('assets/vendor/tiny-slider/tiny-slider.js') }}"></script>
  784. <script src="{{ asset('assets/vendor/glightbox/js/glightbox.js') }}"></script>
  785. <script src="{{ asset('assets/vendor/purecounterjs/dist/purecounter_vanilla.js') }}"></script>
  786. <script src="{{asset('assets/vendor/apexcharts/js/apexcharts.min.js')}}"></script>
  787. <script src="{{asset('assets/vendor/overlay-scrollbar/js/overlayscrollbars.min.js')}}"></script>
  788. <script src="{{ asset('assets/vendor/choices/js/choices.min.js') }}"></script>
  789. <script src="{{ asset('assets/vendor/aos/aos.js') }}"></script>
  790. <script>
  791.     $('.pagination-container nav').addClass('mt-4 d-flex justify-content-center')
  792. $('.pagination-container nav ul.pagination li').addClass('mb-0')
  793. $('.pagination-container nav ul.pagination').addClass('pagination-primary-soft d-inline-block d-md-flex rounded mb-0')
  794. $('.delete-item').on('click', (e) => {
  795. return confirm('Are you sure you want to purchasse ?');
  796. })
  797. </script>
  798. {% block custumJS %}
  799.     <script>
  800.         setTimeout(function () {
  801. $("#bottom-notification").addClass('d-none');
  802. }, 10000)
  803.     </script>
  804.     <div id="quizNotification" class="btn btn-primary">Dès Décembre prochain, les évaluations vous seront programmées !</div>
  805.     <script>
  806.         document.addEventListener("DOMContentLoaded", function () {
  807. function showQuizNotification() {
  808. var notification = document.getElementById("quizNotification");
  809. notification.style.display = "block";
  810. setTimeout(function () {
  811. notification.style.display = "none";
  812. }, 1000); // 5000 milliseconds = 5 seconds
  813. }
  814. // Call the function to show the notification after page load
  815. showQuizNotification();
  816. // Optionally, you can set up the notification to show every 5 seconds
  817. setInterval(showQuizNotification, 5000);
  818. });
  819.     </script>
  820.     <script>
  821.         const likeForumMessage = (e) => {
  822. e.preventDefault();
  823. const elt = $(e.currentTarget)
  824. if (confirm("Confirm that you like these answer ?")) {
  825. $.ajax({
  826. url: elt.attr('href'),
  827. type: "POST",
  828. dataType: "JSON",
  829. success: (response) => {
  830. if (response.hasDone) {
  831. elt.find('.nb-likes').text(response.likes)
  832. }
  833. }
  834. })
  835. }
  836. return false;
  837. }
  838. const showReplyMessageForumModal = (e) => {
  839. e.preventDefault();
  840. $('#replyForumMessage #reply').val(e.currentTarget.dataset.forumMessage)
  841. $('#replyForumMessage #membre').val(e.currentTarget.dataset.membre)
  842. $('#replyForumMessage #response_container').val(e.currentTarget.dataset.appendResponse)
  843. }
  844. $('#replyForumMessage for').on('submit', (e) => {
  845. e.preventDefault();
  846. const form = $(this);
  847. const replyMessage = $('#replyTexarea').val()
  848. const reply = $('#replyForumMessage #reply').val()
  849. const membre = $('#replyForumMessage #membre').val()
  850. $.ajax({
  851. url: $(form).attr('action'),
  852. type: "POST",
  853. dataType: "JSON",
  854. data: {
  855. 'replyMessage': replyMessage,
  856. 'membre': membre,
  857. 'reply': reply
  858. },
  859. success: (response) => {
  860. if (respone.hasDone) {
  861. $('#replyForumMessage').modal('hide')
  862. }
  863. }
  864. })
  865. })
  866. $('.delete-item').on('click', (e) => {
  867. return confirm('Are you sure you want to delete this item?');
  868. })
  869. document.querySelectorAll('.reply-forum-message').forEach(btn => {
  870. btn.addEventListener("click", showReplyMessageForumModal)
  871. })
  872. document.querySelectorAll('.like-forum-message').forEach(btn => {
  873. btn.addEventListener("click", likeForumMessage)
  874. })
  875.     </script>
  876. {% endblock %}{% endblock %}{% block script %}{% endblock %}<!-- Template Functions --><script src="{{ asset('assets/js/functions.js') }}"></script>
  877. <script>
  878.     // Global translations for JavaScript
  879.     window.translations = {
  880.         'chat.typing.single': "{{ 'chat.typing.single'|trans }}",
  881.         'chat.typing.multiple': "{{ 'chat.typing.multiple'|trans }}",
  882.         'chat.errors.connection': "{{ 'chat.errors.connection'|trans }}",
  883.         'chat.errors.message': "{{ 'chat.errors.message'|trans }}",
  884.         'chat.errors.group': "{{ 'chat.errors.group'|trans }}"
  885.     };
  886. </script>
  887. <!-- Webpack Encore -->
  888. {{ encore_entry_script_tags('app') }}
  889. {% block javascripts %}{% endblock %}