templates/user/show.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block title %}Mon profil
  3. {% endblock %}
  4. {% block content %}
  5.     <div class="content">
  6.         <div class="content__base">
  7.             <div class="flex flex-wrap lg:flex-nowrap gap-6 mb-6 ">
  8.                 <div
  9.                     class="card w-full flex flex-col gap-8 justify-center lg:w-2/3 order-2">
  10.                     {# Projets terminés #}
  11.                     <div>
  12.                         <h2 class="subtitle mb-6">Mes projets en cours</h2>
  13.                         <div class="flex flex-wrap justify-center">
  14.                             {% if projects|filter(v => v.Completed == false )|length > 0 %}
  15.                                 {% for project in projects|filter(v => v.Completed == false )|slice(-3)|reverse() %}
  16.                                     <div class="hover:bg-prim-200 p-2 rounded-lg grow shrink md:basis-1/3">
  17.                                         <a href="{{path('app_user_projet_show', {'id': project.getId()} )}}">
  18.                                             {% set firstImageSlider = project.projet.getImageSliders|first %}
  19.                                             {% if firstImageSlider %}
  20.                                                 {% if firstImageSlider.getUrl starts with 'http' %}
  21.                                                     <img class="h-36 w-full object-cover rounded-lg" src=" {{ firstImageSlider.getUrl }} " alt=" image de slider">
  22.                                                 {% else %}
  23.                                                     <img class="h-36 w-full object-cover rounded-lg" src=" {{ asset('uploads/SliderImages/' ~ firstImageSlider.getUrl) }} " alt=" image de slider">
  24.                                                 {% endif %}
  25.                                             {% else %}
  26.                                                 <img class="h-36 w-full object-cover rounded-lg" src=" {{ asset('uploads/SliderImages/default-image.png') }} " alt=" image par défaut">
  27.                                             {% endif %}
  28.                                             <p class="text-lg font-medium text-slate-800">{{project.projet.getName()}}</p>
  29.                                         </a>
  30.                                     </div>
  31.                                 {% endfor %}
  32.                             {% else %}
  33.                                 <p>Vous n'avez pas encore de projet en cours</p>
  34.                             {% endif %}
  35.                         </div>
  36.                     </div>
  37.                     {# Projets en cours #}
  38.                     <div>
  39.                         <h2 class="subtitle mt-5 mb-6">Mes projets terminées</h2>
  40.                         <div class="flex flex-wrap justify-center">
  41.                             {% if projects|filter(v => v.Completed == true )|length > 0 %}
  42.                                 {% for project in projects|filter(v => v.Completed == true )|slice(-3)|reverse() %}
  43.                                     <div class="hover:bg-prim-200 p-2 rounded-lg grow shrink md:basis-1/3">
  44.                                         <a href="{{path('app_user_projet_show', {'id': project.getId()} )}}">
  45.                                             {% set firstImageSlider = project.projet.getImageSliders|first %}
  46.                                             {% if firstImageSlider %}
  47.                                                 {% if firstImageSlider.getUrl starts with 'http' %}
  48.                                                     <img class="h-36 w-full object-cover rounded-lg" src=" {{ firstImageSlider.getUrl }} " alt=" image de slider">
  49.                                                 {% else %}
  50.                                                     <img class="h-36 w-full object-cover rounded-lg" src=" {{ asset('uploads/SliderImages/' ~ firstImageSlider.getUrl) }} " alt=" image de slider">
  51.                                                 {% endif %}
  52.                                             {% else %}
  53.                                                 <img class="h-36 w-full object-cover rounded-lg" src=" {{ asset('uploads/SliderImages/default-image.png') }} " alt=" image par défaut">
  54.                                             {% endif %}
  55.                                             <p class="text-lg font-medium text-slate-800">{{project.projet.getName()}}</p>
  56.                                         </a>
  57.                                     </div>
  58.                                 {% endfor %}
  59.                             {% else %}
  60.                                 <p>Vous n'avez pas encore de projet terminé</p>
  61.                             {% endif %}
  62.                         </div>
  63.                     </div>
  64.                 </div>
  65.                 {# Right #}
  66.                 <div
  67.                     class="flex flex-col gap-6 grow order-0 lg:order-2">
  68.                     {# USER #}
  69.                     <div class="card w-full lg:w-full relative h-fit grow">
  70.                         <a href="{{ path('app_user_edit', {'id': user.id }) }}" class="absolute right-5 top-5">
  71.                             <svg class="w-6 h-6 text-prim-500 hover:text-prim-600 dark:text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 21 21">
  72.                                 <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7.418 17.861 1 20l2.139-6.418m4.279 4.279 10.7-10.7a3.027 3.027 0 0 0-2.14-5.165c-.802 0-1.571.319-2.139.886l-10.7 10.7m4.279 4.279-4.279-4.279m2.139 2.14 7.844-7.844m-1.426-2.853 4.279 4.279"/>
  73.                             </svg>
  74.                         </a>
  75.                         <h2 class="subtitle mb-6">Mon Profil</h2>
  76.                         <div class="w-full flex flex-col items-center justify-center">
  77.                             {% if user.UserInfos.image %}
  78.                                 <img class="w-24 h-24 rounded-full mb-3" src="{{ asset('/uploads/images/' ~ user.UserInfos.image) }}" alt="{{ user.UserInfos.name }}"/>
  79.                             {% endif %}
  80.                             <p class="text-slate-800 font-bold text-xl ">{{ user.UserInfos.name }}</p>
  81.                             <p>{{ user.email }}</p>
  82.                         </div>
  83.                     </div>
  84.                     {# COMMENTAIRES #}
  85.                     <div class="card w-full lg:w-full relative h-fit grow">
  86.                         <h2 class="subtitle mb-6">Mes derniers commentaires</h2>
  87.                         {% if comments|length > 0 %}
  88.                             {% for comment in comments|slice(-3)|reverse() %}
  89.                                 {# <a href="{{path('app_user_projet_show', {'id': project.getId()} )}}"> #}
  90.                                 <div class="flex gap-3 justify-between items-center">
  91.                                     <div class="flex flex-col">
  92.                                         <div class="flex gap-2 items-center">
  93.                                             {% set firstImageSlider = comment.projet.projet.getImageSliders|first %}
  94.                                             {% if firstImageSlider %}
  95.                                                 {% if firstImageSlider.getUrl starts with 'http' %}
  96.                                                     <img class="rounded-full h-7 w-7 object-cover" src=" {{ firstImageSlider.getUrl }} " alt=" image de slider">
  97.                                                 {% else %}
  98.                                                     <img class="rounded-full h-7 w-7 object-cover" src=" {{ asset('uploads/SliderImages/' ~ firstImageSlider.getUrl) }} " alt=" image de slider">
  99.                                                 {% endif %}
  100.                                             {% else %}
  101.                                                 <img class="rounded-full h-7 w-7 object-cover" src=" {{ asset('uploads/SliderImages/default-image.png') }} " alt=" image par défaut">
  102.                                             {% endif %}
  103.                                             <p class="font-semibold text-slate-800">
  104.                                                 {{comment.projet.user.UserInfos.name}}
  105.                                             </p>
  106.                                         </div>
  107.                                         <p class="text-start">{{comment.text}}</p>
  108.                                     </div>
  109.                                     <a href="{{path('app_user_projet_show', {'id': comment.projet.id})}}" class="btn bg-prim-500 ml-1 text-sm font-medium text-white  md:ml-2 hover:bg-prim-600">Voir</a>
  110.                                 </div>
  111.                                 <hr
  112.                                 class="h-px my-2 bg-gray-200 border-0 dark:bg-gray-700">
  113.                             {# </a> #}
  114.                             {% endfor %}
  115.                         {% else %}
  116.                             <p>Vous n'avez pas encore de commentaire</p>
  117.                         {% endif %}
  118.                     </div>
  119.                 </div>
  120.             </div>
  121.         </div>
  122.     </div>
  123. {% endblock %}