templates/front/pro/pro-public.html.twig line 1

Open in your IDE?
  1. {% extends "front/base.html.twig" %}
  2. {% block title %}
  3.     {{ pro.proInfo.fullname | capitalize }}
  4. {% endblock %}
  5. {% if pro is instanceof('App\\Entity\\Coach') %}
  6.     {% set type = 'coach' %}
  7. {% elseif pro is instanceof('App\\Entity\\Club') %}
  8.     {% set type = 'club' %}
  9. {% elseif pro is instanceof('App\\Entity\\Operator') %}
  10.     {% set type = 'operator' %}
  11. {% endif %}
  12. {# Profile photo #}
  13. {% if pro.photo is fileexists('avatar_directory') %}
  14.     {% set avatar = pro.photo %}
  15. {% else %}
  16.     {% set avatar = 'default-profile.png' %}
  17. {% endif %}
  18. {# Cover photo #}
  19. {% if pro.proInfo.coverPhoto and pro.proInfo.coverPhoto is fileexists('avatar_directory') %}
  20.     {% set cover = pro.proInfo.coverPhoto %}
  21. {% else %}
  22.     {% set cover = 'cover.png' %}
  23. {% endif %}
  24. {% block stylesheets %}
  25. {% if inactive %}
  26.     <style>
  27.         body {
  28.             overflow: hidden; /* Hide scrollbars */
  29.         }
  30.     </style>
  31. {% endif %}
  32. {% endblock %}
  33. {% block body %}   
  34.     <section class="mt-0 first-section pro-public overflow-hidden-mobile" id="pro-detail">
  35.         <div class="container-fluid">
  36.             <div class="row justify-content-center">
  37.                 <div class="col-md-12 wrap-col">
  38.                     <div class="cover-wrapper">
  39.                         {% if app.user and app.user == pro %}
  40.                             <div class="preview-edit">
  41.                                 <a href="{{ path('pro_page') }}" class="btn main-btn btn-sm">{{ 'pro_page.edit_page' | trans }}</a>
  42.                                 {% if app.user.proInfo.pageVisible == false %}
  43.                                     <form action="{{ path('publish_my_page') }}" method="post">
  44.                                         <button type="submit" class="btn second-btn btn-sm">{{ 'pro_page.publish_page' | trans }}</button>
  45.                                     </form>
  46.                                 {% endif %}
  47.                             </div>
  48.                         {% endif %}
  49.                         <div class="cover-content">
  50.                             <img loading="lazy" class="cover-image" src="{{ asset('/images/profiles/' ~ cover) }}">
  51.                         </div>
  52.                     </div>
  53.                 </div>
  54.             </div>
  55.         </div>
  56.         <div class="container-fluid">
  57.             <div class="row">
  58.                 <div class="public-page-sidebar-col pro-card-col">
  59.                     <div class="pro-sidebar {{ type }}" id="pro-details-sidebar">
  60.                         <div class="pro-profile-wrap">
  61.                             <div class="profile-wrapper">
  62.                                 <img loading="lazy" class="profile-image" src="{{ asset('/images/profiles/' ~ avatar) }}">    
  63.                             </div>
  64.                         </div>
  65.                         <div class="like-wrap">
  66.                             <button class="btn btn-share" data-toggle="modal" data-target="#share-socials">
  67.                                 <i class="fal fa-arrow-square-up"></i>
  68.                             </button>
  69.                             {% if is_granted('ROLE_TRAINEE') %}
  70.                             <a href="{{ path('add_pro_favorite', {'id': pro.id}) }}" class="btn btn-like" data-update data-token="{{ csrf_token('favorite' ~ pro.id) }}">
  71.                                 <i class="fas fa-heart {% if app.user.isProFavorite(pro) %}favorite{% endif %}"></i>
  72.                             </a>
  73.                             {% else %}
  74.                             <button type="button" class="btn btn-like" data-toggle="modal" data-target="#add-to-favorite">
  75.                                 <i class="fas fa-heart"></i>
  76.                             </button>
  77.                             {% endif %}
  78.                         </div>
  79.                         {# <img loading="lazy" class="pro-profile-pic" src="{{ asset('/images/profiles/' ~ avatar) }}"> #}
  80.                         <h1 class="pro-name">{{ pro.proInfo.fullname }}</h1>
  81.                         <div class="pro-review">
  82.                             {% set averageNotes = getAverageNotes(pro)%}
  83.                             {% set average = averageNotes.total %}
  84.                             {% if average != 0 %}
  85.                                 <p class="average-note">{{ average }}</p>
  86.                                 {% for i in 1..5 %}
  87.                                     {% if average >= i %}
  88.                                         <i class="fas fa-star"></i>
  89.                                     {% else %}
  90.                                         {% if average > (i - 1) %}
  91.                                             <i class="fas fa-star-half-alt"></i>
  92.                                         {% else %}
  93.                                             <i class="far fa-star"></i>                                    
  94.                                         {% endif %}
  95.                                     {% endif %}
  96.                                 {% endfor %}
  97.                             {% else %}
  98.                                 {% for i in 1..5 %}
  99.                                 
  100.                                 <i class="fas fa-star grey-star"></i>
  101.                                     
  102.                                 {% endfor %}
  103.                             {% endif %}
  104.                             <span class="pro-review-note" data-toggle="modal" data-target="#view-notes">({{ averageNotes.count }})</span>
  105.                         </div>
  106.                         {% if pro is instanceof('App\\Entity\\Coach') %}
  107.                             <div class="pro-extra-infos">
  108.                                 <i class="fas fa-circle"></i>
  109.                                 <span class="pro-extra-text">
  110.                                     Mobilité:
  111.                                     {% if pro.isMobile %}
  112.                                         {{ 'pro_page.mobile' | trans | capitalize }}
  113.                                     {% elseif not pro.isMobile %}
  114.                                         {{ 'pro_page.static' | trans | capitalize }}
  115.                                     {% endif %}
  116.                                 </span>
  117.                             </div>
  118.                         {% endif %}
  119.                         <div class="pro-extra-infos">
  120.                             <i class="fal fa-map-marker-alt"></i>
  121.                             <span class="pro-extra-text">{{ pro.address.fullAddress }}</span>
  122.                         </div>
  123.                         
  124.                         {% if pro.telephone %}
  125.                         <div class="pro-extra-infos">
  126.                             <i class="fal fa-phone-alt"></i>
  127.                             <a class="pro-extra-text" href="tel:{{ pro.telephone }}">{{ pro.telephone }}</a>
  128.                         </div>
  129.                         {% endif %}
  130.                         <div class="pro-extra-infos email">
  131.                             <i class="fal fa-envelope"></i>
  132.                             <a class="pro-extra-text" href="mailto:{{ pro.proInfo.contactEmail }}">{{ pro.proInfo.contactEmail }}</a>
  133.                         </div>
  134.                         {% if pro.proInfo.website %}
  135.                         <div class="pro-extra-infos">
  136.                             <i class="fal fa-desktop"></i>
  137.                             <a class="pro-extra-text" href={{ pro.proInfo.website }} target="_blank">
  138.                                 {{ 'pro_page.visit_website' | trans }}
  139.                             </a>
  140.                         </div>
  141.                         {% endif %}
  142.                         {% if pro.languages | length > 0 %}
  143.                         <div class="pro-extra-infos-2">
  144.                             <p class="extra-info-title">{{ 'pro_page.languages' | trans | capitalize }}</p>
  145.                             <span class="pro-languages">
  146.                                 {% for language in pro.languages %}
  147.                                     <img loading="lazy" src="{{ asset('/images/flag/' ~ language.slug ~ '.png') }}" alt="{{ language.name }}">
  148.                                 {% endfor %}
  149.                             </span>
  150.                         </div>
  151.                         {% endif %}
  152.                         {% if pro.proInfo.facebook or pro.proInfo.twitter or pro.proInfo.instagram or pro.proInfo.linkedin or pro.proInfo.youtube %}
  153.                         <div class="pro-extra-infos-2">
  154.                             <p class="extra-info-title">{{ 'pro_page.social_network' | trans | capitalize }}</p>
  155.                             <span class="pro-social-media">
  156.                                 {% if pro.proInfo.facebook != null %}
  157.                                     <a href="{{ pro.proInfo.facebook }}" class="social-media-item"  target="_blank">
  158.                                         <i class="fab fa-facebook-f"></i>
  159.                                     </a>
  160.                                 {% endif %}
  161.                                 {% if pro.proInfo.twitter != null %}
  162.                                     <a href="{{ pro.proInfo.twitter }}" class="social-media-item" target="_blank">
  163.                                         <i class="fab fa-x-twitter"></i>
  164.                                     </a>
  165.                                 {% endif %}
  166.                                 {% if pro.proInfo.instagram != null %}
  167.                                     <a href="{{ pro.proInfo.instagram }}" class="social-media-item" target="_blank">
  168.                                         <i class="fab fa-instagram"></i>
  169.                                     </a>
  170.                                 {% endif %}
  171.                                 {% if pro.proInfo.linkedin != null %}
  172.                                     <a href="{{ pro.proInfo.linkedin }}" class="social-media-item" target="_blank">
  173.                                         <i class="fab fa-linkedin"></i>
  174.                                     </a>
  175.                                 {% endif %}
  176.                                 {% if pro.proInfo.youtube != null %}
  177.                                     <a href="{{ pro.proInfo.youtube }}" class="social-media-item" target="_blank">
  178.                                         <i class="fab fa-youtube"></i>
  179.                                     </a>
  180.                                 {% endif %}
  181.                                 {% if pro.proInfo.twitch != null %}
  182.                                     <a href="{{ pro.proInfo.twitch }}" class="social-media-item" target="_blank">
  183.                                         <i class="fab fa-twitch"></i>
  184.                                     </a>
  185.                                 {% endif %}
  186.                                 {% if pro.proInfo.tiktok != null %}
  187.                                     <a href="{{ pro.proInfo.tiktok }}" class="social-media-item" target="_blank">
  188.                                         <i class="fab fa-tiktok"></i>
  189.                                     </a>
  190.                                 {% endif %}
  191.                             </span>
  192.                         </div>
  193.                         {% endif %}
  194.                         {% if not app.user or (app.user and not app.user.isPro) %}
  195.                         <hr>
  196.                         <button class="btn main-btn w-100" data-toggle="modal" data-target="#contact">{{ 'pro_page.contact_button' | trans | capitalize }}</button>
  197.                         {% endif %}
  198.                     </div>
  199.                 </div>
  200.                 {% if not app.user or (app.user and not app.user.isPro) %}
  201.                 {% include "front/pro/_contact-modal.html.twig" with {"pro": pro, "from": "pro"} %}
  202.                 {% endif %}
  203.                 
  204.                 <!-- Modal social media share -->
  205.                 <div class="modal fade" id="share-socials" tabindex="-1" role="dialog" aria-labelledby="share-socials" aria-hidden="true">
  206.                     <div class="modal-dialog modal modal-dialog-centered" role="document">
  207.                         <div class="modal-content">
  208.                             <div class="modal-body">
  209.                                 <div class="modal-title-wrap">
  210.                                     <h5 class="modal-title">{{ "pro_page.share_pro" | trans }}</h5>
  211.                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  212.                                         <i class="fal fa-times"></i>
  213.                                     </button>
  214.                                 </div>
  215.                                 <div class="row" id="social-networks">
  216.                                     <div class="col-3">
  217.                                     <a href="https://www.facebook.com/sharer/sharer.php?u={{ url('view_pro', {'type': type, 'slug': pro.slug}) }}" target="_blank">
  218.                                         <div class="card">
  219.                                             <div id="icon">
  220.                                                 <i class="fab fa-facebook-f"></i>
  221.                                             </div>
  222.                                         </div>
  223.                                     </a>
  224.                                     </div>
  225.                                     <div class="col-3">
  226.                                         <a href="https://twitter.com/intent/tweet?text={{ url('view_pro', {'type': type, 'slug': pro.slug}) }}" target="_blank">
  227.                                             <div class="card">
  228.                                                 <div id="icon">
  229.                                                     <i class="fab fa-x-twitter"></i>
  230.                                                 </div>
  231.                                             </div>
  232.                                         </a>
  233.                                     </div>
  234.                                     <div class="col-3">
  235.                                         <a href="https://www.linkedin.com/shareArticle?mini=true&url={{ url('view_pro', {'type': type, 'slug': pro.slug}) }}&title={{ pro.proInfo.fullname }}" target="_blank">
  236.                                             <div class="card">
  237.                                                 <div id="icon">
  238.                                                     <i class="fab fa-linkedin-in"></i>
  239.                                                 </div>
  240.                                             </div>
  241.                                         </a>
  242.                                     </div>
  243.                                     <div class="col-3">
  244.                                         <a href="https://api.whatsapp.com/send?&text={{ url('view_pro', {'type': type, 'slug': pro.slug}) }}" target="_blank">
  245.                                             <div class="card">
  246.                                                 <div id="icon">
  247.                                                     <i class="fab fa-whatsapp"></i>
  248.                                                 </div>
  249.                                             </div>
  250.                                         </a>
  251.                                     </div>
  252.                                 </div>
  253.                             </div>
  254.                         </div>
  255.                     </div>
  256.                 </div>
  257.                 
  258.                 
  259.                 <div class="public-page-content-col pro-card-col">
  260.                     
  261.                     <div class="row pro-row">
  262.                         {% if pro.proInfo.gallery | length > 0 and pro.proInfo.videos | length > 0 %}
  263.                         {% set mediaCol = 'col-lg-12 col-xl-6' %}
  264.                         {% else %}
  265.                         {% set mediaCol = 'col-lg-12' %}
  266.                         {% endif %}
  267.                         {% if pro.proInfo.gallery | length > 0 %}                    
  268.                         <div class="{{ mediaCol }} pro-col">
  269.                             <div class="pro-content-card h-100">
  270.                                 <h3 class="pro-content-card-title">{{ 'pro_page.photos' | trans | capitalize }}</h3>
  271.                                 <div class="pro-content-box media align-items-start">
  272.                                     <div class="row">
  273.                                         {% if pro.proInfo.gallery | length > 6 %}
  274.                                         <div class="col-12 text-center p-0">
  275.                                             <a data-target="#all-photos" class="all-media mb-2" data-toggle="modal">{{ 'pro_page.all_photos' | trans }}</a>
  276.                                         </div>
  277.                                         {% endif %}
  278.                                         <div class="col-12 p-0">
  279.                                             <div class="row public-photos">
  280.                                             {% for photo in pro.proInfo.gallery | reverse | slice(0, 7) %}
  281.                                                 {% if loop.index <= 6 %}
  282.                                                 
  283.                                                 <div class="img-col col-6 col-sm-4 col-lg-4">
  284.                                                     <div class="photo-item">
  285.                                                         <img loading="lazy" data-target="#all-photos" data-toggle="modal" src="{{ asset('/images/gallery/' ~ photo.name) }}" alt="{{ photo.name }}">
  286.                                                         {% if pro.proInfo.gallery | length > 6 and loop.index == 6 %}
  287.                                                             {% set galleryRest = pro.proInfo.gallery | length - 6 %}
  288.                                                             <div class="more-photos" data-target="#all-photos" data-toggle="modal">
  289.                                                                 <span>+
  290.                                                                     {{ galleryRest }}</span>
  291.                                                             </div>
  292.                                                         {% endif %}
  293.                                                     </div>
  294.                                                 </div>
  295.                                                 {% endif %}
  296.                                             {% endfor %}
  297.                                             </div>
  298.                                         </div>
  299.                                     </div>
  300.                                 </div>
  301.                                 <!-- Modal see all photos -->
  302.                                 <div class="modal fade bd-example-modal-xl" id="all-photos" tabindex="-1" role="dialog" aria-labelledby="all-photos" aria-hidden="true">
  303.                                     <div class="modal-dialog modal-xl modal-dialog-centered" role="document">
  304.                                         <div class="modal-content">
  305.                                             <div class="modal-body">
  306.                                                 <div class="modal-title-wrap">
  307.                                                     <h5 class="modal-title">{{ 'pro_page.all_photos' | trans }}</h5>
  308.                                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  309.                                                         <i class="fal fa-times"></i>
  310.                                                     </button>
  311.                                                 </div>
  312.                                                 <div class="row public-photos">
  313.                                                     {% for photo in pro.proInfo.gallery | reverse %}
  314.                                                         <div class="img-col col-6 col-sm-6 col-md-4 col-xl-3">
  315.                                                             <div class="photo-item">
  316.                                                                 <a data-fslightbox href="{{ asset('/images/gallery/' ~ photo.name) }}">
  317.                                                                     <img loading="lazy" src="{{ asset('/images/gallery/' ~ photo.name) }}" alt="image">
  318.                                                                 </a>
  319.                                                             </div>
  320.                                                         </div>
  321.                                                     {% endfor %}
  322.                                                 </div>
  323.                                             </div>
  324.                                         </div>
  325.                                     </div>
  326.                                 </div>
  327.                             </div>
  328.                         </div>
  329.                         {% endif %}
  330.                         {% if pro.proInfo.videos | length > 0 %}
  331.                         {% if pro.proInfo.gallery | length > 0 %}
  332.                         
  333.                         {% set videoItemCol = 'col-12 col-sm-6 col-md-6 col-lg-6' %}
  334.                         {% else %}
  335.                             
  336.                         {% set videoItemCol = 'col-12 col-sm-6 col-md-6 col-lg-3' %}
  337.                         {% endif %}
  338.                         <div class="{{ mediaCol }} pro-col">
  339.                             <div class="pro-content-card h-100">
  340.                                 <h3 class="pro-content-card-title">{{ 'pro_page.videos' | trans | capitalize }}</h3>
  341.                                 <div class="pro-content-box media align-items-start">
  342.                                     {% if pro.proInfo.videos | length > 0 %}
  343.                                         <div class="row">
  344.                                             {% if pro.proInfo.videos | length > 4 %}
  345.                                             
  346.                                             <div class="col-12 text-center">
  347.                                                 <a data-target="#all-videos" class="all-media" data-toggle="modal" class="col-12 text-center">{{ 'pro_page.all_videos' | trans }}</a>
  348.                                             </div>
  349.                                             {% endif %}
  350.                                             {% for video in pro.proInfo.videos | reverse | slice(0, 4) %}
  351.                                                 <div class="video-col {{ videoItemCol }}">
  352.                                                     <div class="video-thumbnail">
  353.                                                     {% if video.type == 'youtube' %}
  354.                                                         <img loading="lazy" src="http://i1.ytimg.com/vi/{{ video.videoId }}/mqdefault.jpg" alt=" {{ video.videoId }}">
  355.                                                     {% else %}
  356.                                                         <img loading="lazy" srcset="https://vumbnail.com/{{ video.videoId }}.jpg 640w" alt="{{ video.videoId }}" />
  357.                                                     {% endif %}
  358.                                                     
  359.                                                     <button class="play" data-toggle="modal" data-target="#watch-video-{{ video.id }}">
  360.                                                         <i class="fal fa-play-circle"></i>
  361.                                                     </button>
  362.                                                     {% if pro.proInfo.videos | length > 4 and loop.last %}
  363.                                                         {% set videoRest = pro.proInfo.videos | length - 4 %}
  364.                                                         <div class="more-photos" data-target="#all-videos" data-toggle="modal">
  365.                                                             <span>+
  366.                                                                 {{ videoRest }}</span>
  367.                                                         </div>
  368.                                                     {% endif %}
  369.                                                     </div>
  370.                                                 </div>
  371.                                             {% endfor %}
  372.                                         </div>
  373.                                     {% else %}
  374.                                         <p class="empty-media">0
  375.                                             {{ 'pro_page.video' | trans | capitalize }}</p>
  376.                                     {% endif %}
  377.                                 </div>
  378.                                 <!-- Modal see all video -->
  379.                                 <div class="modal fade bd-example-modal-xl" id="all-videos" tabindex="-1" role="dialog" aria-labelledby="all-videos" aria-hidden="true">
  380.                                     <div class="modal-dialog modal-xl modal-dialog-centered" role="document">
  381.                                         <div class="modal-content">
  382.                                             <div class="modal-body">
  383.                                                 <div class="modal-title-wrap">
  384.                                                     <h5 class="modal-title">{{ 'pro_page.all_videos' | trans }}</h5>
  385.                                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  386.                                                         <i class="fal fa-times"></i>
  387.                                                     </button>
  388.                                                 </div>
  389.                                                 <div class="row">
  390.                                                     {% for video in pro.proInfo.videos | reverse %}
  391.                                                         <div class="video-col col-12 col-sm-6 col-md-4 col-xl-3">
  392.                                                             <div class="video-thumbnail">
  393.                                                                 {% if video.type == 'youtube' %}
  394.                                                                     <img loading="lazy" src="http://i1.ytimg.com/vi/{{ video.videoId }}/mqdefault.jpg" alt=" {{ video.videoId }}">
  395.                                                                 {% else %}
  396.                                                                     <img loading="lazy" srcset="https://vumbnail.com/{{ video.videoId }}.jpg 640w" alt="{{ video.videoId }}" />
  397.                                                                 {% endif %}
  398.                                                                 <button class="play" data-toggle="modal" data-target="#watch-video-{{ video.id }}">
  399.                                                                     <i class="fal fa-play-circle"></i>
  400.                                                                 </button>
  401.                                                             </div>
  402.                                                         </div>
  403.                                                     {% endfor %}
  404.                                                 </div>
  405.                                             </div>
  406.                                         </div>
  407.                                     </div>
  408.                                 </div>
  409.                             </div>
  410.                         </div>
  411.                         {% endif %}
  412.                         {% for video in pro.proInfo.videos %}
  413.                             <!-- Modal watch video -->
  414.                             <div class="modal fade watch-video-modal" id="watch-video-{{ video.id }}" tabindex="-1" role="dialog" aria-labelledby="video" aria-hidden="true">
  415.                                 <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
  416.                                     <div class="modal-content">
  417.                                         <div class="modal-body">
  418.                                             <div class="modal-title-wrap">
  419.                                                 <h5 class="modal-title">{{ 'pro_page.watch_video' | trans }}</h5>
  420.                                                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  421.                                                     <i class="fal fa-times"></i>
  422.                                                 </button>
  423.                                             </div>
  424.                                             <div class="row">
  425.                                                 {% if video.type == 'youtube' %}
  426.                                                     <iframe class="yt_player_iframe" width="640" height="360"  id="watched-video" frameborder="0" allowfullscreen src="https://www.youtube.com/embed/{{ video.videoId }}"></iframe>
  427.                                                 {% else %}
  428.                                                     <iframe class="vi_player_iframe" width="640" height="360"  id="watched-video" frameborder="0" allowfullscreen src="https://player.vimeo.com/video/{{ video.videoId }}"></iframe>
  429.                                                 {% endif %}
  430.                                             </div>
  431.                                         </div>
  432.                                     </div>
  433.                                 </div>
  434.                             </div>
  435.                         {% endfor %}
  436.                     </div>
  437.                     {% if pro is instanceof('App\\Entity\\Coach') %}
  438.                         {% if proDescription.description != null %}
  439.                         <div class="row pro-row">
  440.                             <div class="col-lg-12 pro-col">
  441.                                 <div class="pro-content-card">
  442.                                     <h3 class="pro-content-card-title">{{ 'pro_page.about_me' | trans }}</h3>
  443.                                     <div class="pro-content-box description">
  444.                                         <p class="description-text">
  445.                                             {{ proDescription.description |nl2br }}
  446.                                         </p>
  447.                                     </div>
  448.                                 </div>
  449.                             </div>
  450.                         </div>
  451.                         {% endif %}
  452.                         <div class="row pro-row">
  453.                             <div class="col-lg-6 pro-col">
  454.                                 <div class="pro-content-card">
  455.                                     <h3 class="pro-content-card-title">{{ 'pro_page.sports' | trans | capitalize }}</h3>
  456.                                     <div class="pro-content-box sports">
  457.                                         {% for sport in pro.proInfo.sports %}
  458.                                             <span class="coach-sport-item">{{ ("sport_name." ~ sport.slug) | trans }}</span>
  459.                                         {% endfor %}
  460.                                         {% for sport in sports %}
  461.                                             {% if sport not in pro.proInfo.sports %}
  462.                                                 <span class="coach-sport-item not-sport-item">{{ ("sport_name." ~ sport.slug) | trans }}</span>
  463.                                             {% endif %}
  464.                                         {% endfor %}
  465.                                     </div>
  466.                                 </div>
  467.                             </div>
  468.                             <div class="col-lg-6 pro-col">
  469.                                 <div class="pro-content-card">
  470.                                     <h3 class="pro-content-card-title">{{ 'pro_page.areas' | trans | capitalize }}</h3>
  471.                                     <div class="pro-content-box areas">
  472.                                         {% for key, splittedArea in splittedAreas %}
  473.                                         <div class="area-wrap">
  474.                                             <div class="title-wrap">
  475.                                                 <h5 class="title">{{ key | countryName(app.request.locale) }}</h5>
  476.                                             </div>
  477.                                             {% for area in splittedArea %}
  478.                                             
  479.                                             {% if area.city == null and splittedArea | length == 1 %}
  480.                                             
  481.                                             <div class="area-item">
  482.                                                 <i class="fal fa-map-marker-alt"></i>
  483.                                                 <span class="city">{{ 'pro_page.area_country' | trans }}</span>
  484.                                             </div>
  485.                                             {% else %}
  486.                                                 
  487.                                             <div class="area-item">
  488.                                                 <i class="fal fa-map-marker-alt"></i>
  489.                                                 <span class="city">{{ area.city }}</span>
  490.                                             </div>
  491.                                             {% endif %}
  492.                                             {% endfor %}
  493.                                         </div>
  494.                                         {% endfor %}
  495.                                     </div>
  496.                                 </div>
  497.                             </div>
  498.                         </div>
  499.                         {% if pro.coachInfo.experience | length > 0 or pro.coachInfo.formation | length > 0 %}
  500.                         <div class="row pro-row">
  501.                             <div class="col-lg-12 pro-col">
  502.                                 <div class="pro-content-card">
  503.                                     <h3 class="pro-content-card-title">{{ 'pro_page.experience_formation' | trans | capitalize }}
  504.                                     </h3>
  505.                                     <div class="pro-content-box formation-experience align-items-start">
  506.                                         <div class="pro-experiences">
  507.                                             {% for experience in pro.coachInfo.experience %}
  508.                                                 <div class="experience-item">
  509.                                                     <h4 class="experience-job">{{ experience.jobTitle }}</h4>
  510.                                                     <span class="experience-domain">{{ experience.sector }}</span>
  511.                                                     <span class="experience-address">
  512.                                                         <i class="fal fa-map-marker-alt"></i>
  513.                                                         {{ experience.address }}
  514.                                                     </span>
  515.                                                     <span class="experience-period">
  516.                                                         <i class="far fa-calendar-alt"></i>
  517.                                                         {{ experience.begin }}
  518.                                                         -
  519.                                                         {{ experience.end }}
  520.                                                     </span>
  521.                                                     <p class="expererience-description">
  522.                                                         {{ experience.description |nl2br }}
  523.                                                     </p>
  524.                                                 </div>
  525.                                             {% endfor %}
  526.                                         </div>
  527.                                         <div class="pro-formations mt-3">
  528.                                             {% for formation in pro.coachInfo.formation %}
  529.                                                 <div class="formation-item">
  530.                                                     <h4 class="formation-organism">{{ formation.organisation }}</h4>
  531.                                                     <span class="formation-diploma">{{ formation.diploma }}</span>
  532.                                                     <span class="formation-period">{{ formation.begin }}
  533.                                                         -
  534.                                                         {{ formation.end }}</span>
  535.                                                 </div>
  536.                                             {% endfor %}
  537.                                         </div>
  538.                                     </div>
  539.                                 </div>
  540.                             </div>
  541.                         </div>
  542.                     {% endif %}
  543.                     {% elseif pro is instanceof('App\\Entity\\Operator') and proDescription.description != null %}
  544.                         <div class="row pro-row">
  545.                             <div class="col-lg-12 pro-col">
  546.                                 <div class="pro-content-card">
  547.                                     <h3 class="pro-content-card-title">{{ 'pro_page.about_us' | trans }}</h3>
  548.                                     <div class="pro-content-box description">
  549.                                         <p class="description-text">
  550.                                             {{ proDescription.description |nl2br }}
  551.                                         </p>
  552.                                     </div>
  553.                                 </div>
  554.                             </div>
  555.                         </div>
  556.                         <div class="row pro-row">
  557.                             <div class="col-lg-6 pro-col">
  558.                                 <div class="pro-content-card">
  559.                                     <h3 class="pro-content-card-title">{{ 'pro_page.sports' | trans | capitalize }}</h3>
  560.                                     <div class="pro-content-box sports">
  561.                                         {% for sport in pro.proInfo.sports %}
  562.                                             <span class="coach-sport-item">{{ ("sport_name." ~ sport.slug) | trans }}</span>
  563.                                         {% endfor %}
  564.                                         {% for sport in sports %}
  565.                                             {% if sport not in pro.proInfo.sports %}
  566.                                                 <span class="coach-sport-item not-sport-item">{{ ("sport_name." ~ sport.slug) | trans }}</span>
  567.                                             {% endif %}
  568.                                         {% endfor %}
  569.                                     </div>
  570.                                 </div>
  571.                             </div>
  572.                             <div class="col-lg-6 pro-col">
  573.                                 <div class="pro-content-card">
  574.                                     <h3 class="pro-content-card-title">{{ 'pro_page.areas' | trans | capitalize }}</h3>
  575.                                     <div class="pro-content-box areas">
  576.                                         {% for key, splittedArea in splittedAreas %}
  577.                                         <div class="area-wrap">
  578.                                             <div class="title-wrap">
  579.                                                 <h5 class="title">{{ key | countryName(app.request.locale) }}</h5>
  580.                                             </div>
  581.                                             {% for area in splittedArea %}
  582.                                             
  583.                                             {% if area.city == null and splittedArea | length == 1 %}
  584.                                             
  585.                                             <div class="area-item">
  586.                                                 <i class="fal fa-map-marker-alt"></i>
  587.                                                 <span class="city">{{ 'pro_page.area_country' | trans }}</span>
  588.                                             </div>
  589.                                             {% else %}
  590.                                                 
  591.                                             <div class="area-item">
  592.                                                 <i class="fal fa-map-marker-alt"></i>
  593.                                                 <span class="city">{{ area.city }}</span>
  594.                                             </div>
  595.                                             {% endif %}
  596.                                             {% endfor %}
  597.                                         </div>
  598.                                         {% endfor %}
  599.                                     </div>
  600.                                 </div>
  601.                             </div>
  602.                         </div>
  603.                     {% elseif pro is instanceof('App\\Entity\\Club')  %}
  604.                         {% if proDescription.description != null %}
  605.                             <div class="row pro-row">
  606.                                 <div class="col-lg-12 pro-col">
  607.                                     <div class="pro-content-card">
  608.                                         <h3 class="pro-content-card-title">{{ 'pro_page.about_us' | trans }}</h3>
  609.                                         <div class="pro-content-box description">
  610.                                             <p class="description-text">
  611.                                                 {{ proDescription.description |nl2br }}
  612.                                             </p>
  613.                                         </div>
  614.                                     </div>
  615.                                 </div>
  616.                             </div>
  617.                         {% endif %}
  618.                         <div class="row pro-row">
  619.                             <div class="col-lg-12 pro-col">
  620.                                 <div class="pro-content-card">
  621.                                     <h3 class="pro-content-card-title">{{ 'pro_page.availabilities' | trans | capitalize }}</h3>
  622.                                     
  623.                                     <div class="pro-content-box sport-availabilities">
  624.                                         <div class="availability-header">
  625.                                             <span class="sport"></span>
  626.                                             <div class="month-list">
  627.                                                 <span class="month">{{ "short_month.january" | trans }}</span>
  628.                                                 <span class="month">{{ "short_month.february" | trans }}</span>
  629.                                                 <span class="month">{{ "short_month.march" | trans }}</span>
  630.                                                 <span class="month">{{ "short_month.april" | trans }}</span>
  631.                                                 <span class="month">{{ "short_month.may" | trans }}</span>
  632.                                                 <span class="month">{{ "short_month.june" | trans }}</span>
  633.                                                 <span class="month">{{ "short_month.july" | trans }}</span>
  634.                                                 <span class="month">{{ "short_month.august" | trans }}</span>
  635.                                                 <span class="month">{{ "short_month.september" | trans }}</span>
  636.                                                 <span class="month">{{ "short_month.october" | trans }}</span>
  637.                                                 <span class="month">{{ "short_month.november" | trans }}</span>
  638.                                                 <span class="month">{{ "short_month.december" | trans }}</span>
  639.                                             </div>
  640.                                         </div>
  641.                                         {% for availability in pro.availabilities %}
  642.                                         <div class="availability-content">
  643.                                             <span class="pro-sport-item">{{ ("sport_name." ~ availability.sport.slug) | trans }}</span>
  644.                                             <div class="availability-list">
  645.                                                 {% for month in months %}
  646.                                                 <span class="item">
  647.                                                     {% if month in availability.availabilities | join(', ')  %}
  648.                                                     
  649.                                                         <i class="fas fa-check"></i>
  650.                                                     {% else %}
  651.                                                         <i class="fas fa-times"></i>
  652.                                                     {% endif %}
  653.                                                 </span>
  654.                                                 {% endfor %}
  655.                                                 
  656.                                             </div>
  657.                                         </div>
  658.                                         {% endfor %}
  659.                                     </div>
  660.                                         
  661.                                 </div>
  662.                             </div>
  663.                         </div>
  664.                     {% endif %}
  665.                     {% if pro.proInfo.sponsors | length != 0 %}
  666.                         <div class="row pro-row">
  667.                             <div class="col-lg-12 pro-col">
  668.                                 <div class="pro-content-card">
  669.                                     <h3 class="pro-content-card-title">{{ 'pro_page.sponsors' | trans | capitalize }}
  670.                                     </h3>
  671.                                     <div class="pro-content-box sponsor">
  672.                                         <div class="pro-sponsor-slider">
  673.                                             {% for sponsor in pro.proInfo.sponsors %}
  674.                                                 <div class="pro-sponsor-item">
  675.                                                     <div class="pro-sponsor-img">
  676.                                                         <img loading="lazy" src="{{ asset('/images/partners/' ~ sponsor.logo) }}" alt="{{ sponsor.name }}">
  677.                                                     </div>
  678.                                                     <span class="pro-sponsor-name">{{ sponsor.name }}</span>
  679.                                                 </div>
  680.                                             {% endfor %}
  681.                                         </div>
  682.                                     </div>
  683.                                 </div>
  684.                             </div>
  685.                         </div>
  686.                     {% endif %}
  687.                     {% if pro is instanceof('App\\Entity\\Operator') %}
  688.                         {% if pro.proInfo.labels | length != 0 %}
  689.                             <div class="row pro-row">
  690.                                 <div class="col-lg-12 pro-col">
  691.                                     <div class="pro-content-card">
  692.                                         <h3 class="pro-content-card-title">{{ 'pro_page.labels' | trans | capitalize }}
  693.                                         </h3>
  694.                                         <div class="pro-content-box label">
  695.                                             <div class="pro-label-slider">
  696.                                                 {% for label in pro.proInfo.labels %}
  697.                                                     <div class="pro-label-item">
  698.                                                         <div class="pro-label-img">
  699.                                                             <img loading="lazy" src="{{ asset('/images/labels/' ~ label.logo) }}" alt="{{ label.name }}">
  700.                                                         </div>
  701.                                                         <span class="pro-label-name">{{ label.name }}</span>
  702.                                                     </div>
  703.                                                 {% endfor %}
  704.                                             </div>
  705.                                         </div>
  706.                                     </div>
  707.                                 </div>
  708.                             </div>
  709.                         {% endif %}
  710.                     {% endif %}
  711.                     {% if pro is instanceof('App\\Entity\\Club') %}
  712.                         <div class="row pro-row">
  713.                             <div class="col-lg-12 pro-col">
  714.                                 <div class="pro-content-card">
  715.                                     
  716.                                     {% if pro.clubInfo.insurance or pro.clubInfo.swimmingpool or pro.clubInfo.gym or pro.clubInfo.seminarRoom or pro.clubInfo.restaurant or pro.clubInfo.bar %}
  717.                                     <h3 class="pro-content-card-title">{{ 'pro_page.about_club' | trans }}</h3>
  718.                                     
  719.                                     <div class="club-infrastructures">
  720.                                         {% if pro.clubInfo.insurance %}
  721.                                             <div class="infrastructure-item">
  722.                                                 <img loading="lazy" src="{{ asset('/images/icons/assurance.svg') }}">
  723.                                                 <span class="infrastructure-text">{{ "pro_page.insurance" | trans }}</span>
  724.                                             </div>
  725.                                         {% endif %}
  726.                                         {% if pro.clubInfo.swimmingpool %}
  727.                                             <div class="infrastructure-item">
  728.                                                 <img loading="lazy" src="{{ asset('/images/icons/piscine.svg') }}">
  729.                                                 <span class="infrastructure-text">{{ "pro_page.swimmingpool" | trans }}</span>
  730.                                             </div>
  731.                                         {% endif %}
  732.                                         {% if pro.clubInfo.gym %}
  733.                                             <div class="infrastructure-item">
  734.                                                 <img loading="lazy" src="{{ asset('/images/icons/training.svg') }}">
  735.                                                 <span class="infrastructure-text">{{ "pro_page.gym" | trans }}</span>
  736.                                             </div>
  737.                                         {% endif %}
  738.                                         {% if pro.clubInfo.seminarRoom %}
  739.                                             <div class="infrastructure-item">
  740.                                                 <img loading="lazy" src="{{ asset('/images/icons/seminar-room.svg') }}">
  741.                                                 <span class="infrastructure-text">{{ "pro_page.seminar" | trans }}</span>
  742.                                             </div>
  743.                                         {% endif %}
  744.                                         {% if pro.clubInfo.restaurant %}
  745.                                             <div class="infrastructure-item">
  746.                                                 <img loading="lazy" src="{{ asset('/images/icons/restaurant.svg')}}">
  747.                                                 <span class="infrastructure-text">{{ "pro_page.restaurant" | trans }}</span>
  748.                                             </div>
  749.                                         {% endif %}
  750.                                         {% if pro.clubInfo.bar %}
  751.                                             <div class="infrastructure-item">
  752.                                                 <img loading="lazy" src="{{ asset('/images/icons/bar.svg') }}">
  753.                                                 <span class="infrastructure-text">{{ "pro_page.bar" | trans }}</span>
  754.                                             </div>
  755.                                         {% endif %}
  756.                                     </div>
  757.                                     {% endif %}
  758.                                     <h3 class="pro-content-card-title mt-3">{{ "page_course_detail.fields_tables" | trans }}</h3>
  759.                                     <div class="club-infrastructures terrains">
  760.                                     
  761.                                         {% for court in pro.clubInfo.courtInfos %}
  762.                                             {% if court.nbOpen > 0 or court.nbSemiOpen > 0 or court.nbCovered > 0 %}
  763.                                             <div class="infrastructure-item">
  764.                                                 <img loading="lazy" src="{{ asset('/images/icons/' ~ court.sport.icon ) }}">
  765.                                                 <span class="infrastructure-text">
  766.                                                     {{ ("sport_name." ~ court.sport.slug) | trans }}</span>
  767.                                                 <div class="terrains-count">
  768.                                                     {% if court.nbOpen > 0 %}
  769.                                                     <h5 class="count">
  770.                                                         <span>{{court.nbOpen}}</span>
  771.                                                         {{ "page_course_detail.outdoor" | trans }}
  772.                                                     </h5>
  773.                                                     {% endif %}
  774.                                                     {% if court.nbSemiOpen > 0 %}
  775.                                                     <h5 class="count">
  776.                                                         <span>{{court.nbSemiOpen}}</span>
  777.                                                         {{ "page_course_detail.semi_indoor" | trans }}
  778.                                                     </h5>
  779.                                                     {% endif %}
  780.                                                     {% if court.nbCovered > 0 %}
  781.                                                     <h5 class="count">
  782.                                                         <span>{{court.nbCovered}}</span>
  783.                                                         {{ "page_course_detail.indoor" | trans }}
  784.                                                     </h5>
  785.                                                     {% endif %}
  786.                                                     
  787.                                                 </div>
  788.                                             </div>
  789.                                             {% endif %}
  790.                                         {% endfor %}
  791.                                     </div>
  792.                                 </div>
  793.                             </div>
  794.                         </div>
  795.                     {% endif %}
  796.                     {% if courses | length > 0 %}
  797.                         <div class="row pro-courses-row pro-row">
  798.                             <div class="col-lg-12 pro-col">
  799.                                 <div class="main-title mb-5">
  800.                                     <h1 class="title-text">{{ "pro_page.courses_offered" | trans }}</h1>
  801.                                 </div>
  802.                                 <div class="pro-courses-grid">
  803.                                     {% for course in courses %}
  804.                                         {% if course | nextdate(startingDate).begin != null %}
  805.                                             
  806.                                                 {% include "front/course/_course-card.html.twig" %}
  807.                                             
  808.                                         {% endif %}
  809.                                     {% endfor %}
  810.                                 </div>
  811.                             </div>
  812.                         </div>
  813.                     {% endif %}
  814.                     {% if partnershipCourses | length > 0 %}
  815.                         <div class="row pro-courses-row pro-row">
  816.                             <div class="col-lg-12 pro-col">
  817.                                 <div class="main-title mb-5">
  818.                                     <h1 class="title-text">Stages partenaires</h1>
  819.                                 </div>
  820.                                 <div class="pro-courses-grid">
  821.                                     {% for course in partnershipCourses %}
  822.                                         {% if course | nextdate(startingDate).begin != null %}
  823.                                             
  824.                                                 {% include "front/course/_course-card.html.twig" %}
  825.                                             
  826.                                         {% endif %}
  827.                                     {% endfor %}
  828.                                 </div>
  829.                             </div>
  830.                         </div>
  831.                     {% endif %}
  832.                     {% if pro is instanceof('App\\Entity\\Coach') or pro is instanceof('App\\Entity\\Operator') %}
  833.                         {% if clubPartners | length > 0 %}
  834.                             <div class="row pro-row">
  835.                                 <div class="col-lg-12 pro-col">
  836.                                     <div class="main-title mb-5">
  837.                                         <h1 class="title-text">{{ "pro_partner_page.partners_clubs" | trans }}</h1>
  838.                                     </div>
  839.                                     <div class="row partners-wrapper club-partners">
  840.                                         {% for pro in clubPartners %}
  841.                                             {% if pro.owner %}
  842.                                                 {% include "front/pro/_pro-card.html.twig" with {'pro': pro.owner} %}
  843.                                             {% endif %}
  844.                                         {% endfor %}
  845.                                     </div>
  846.                                 </div>
  847.                             </div>
  848.                         {% endif %}
  849.                     {% endif %}
  850.                     {% if pro is instanceof('App\\Entity\\Club') or pro is instanceof('App\\Entity\\Operator') %}
  851.                         {% if coachPartners | length > 0 %}
  852.                             <div class="row pro-row">
  853.                                 <div class="col-lg-12 pro-col">
  854.                                     <div class="main-title mb-5">
  855.                                         <h1 class="title-text">{{ "pro_partner_page.partners_coachs" | trans }}</h1>
  856.                                     </div>
  857.                                     <div class="row partners-wrapper coach-partners">
  858.                                         {% for pro in coachPartners %}
  859.                                             {% if pro.owner %}
  860.                                                 {% include "front/pro/_pro-card.html.twig" with {'pro': pro.owner} %}
  861.                                             {% endif %}
  862.                                         {% endfor %}
  863.                                     </div>
  864.                                 </div>
  865.                             </div>
  866.                         {% endif %}
  867.                     {% endif %}
  868.                 </div>
  869.             </div>
  870.         </div>
  871.         {% include "front/pro/_pro-review.html.twig" with {"pro": pro} %}
  872.     </section>
  873.     {% if inactive %}
  874.         {% if app.user == pro %}
  875.             <div id="inactive-pro">
  876.                 <h2>{{ "pro_page.self_inactive" | trans }}</h2>
  877.                 <a class="btn btn-get-subscription" href="{{ path('select_subscription') }}">{{ "pro_subscription.select_subscription" | trans }}</a>
  878.             </div>
  879.         {% else %}
  880.             <div id="inactive-pro"><h2>{{ pro.proInfo.fullname | capitalize }} {{ "pro_page.inactive" | trans }}</h2></div>
  881.         {% endif %}
  882.     {% endif %}
  883. {% endblock %}
  884. {% block javascript %}
  885.     {% if inactive %}
  886.     <script>
  887.         const header = $('header')
  888.         $(function () {
  889.             header.css('background-color', '#fff');
  890.             header.css('box-shadow', '4px 4px 12px rgb(164 160 160 / 25%)');
  891.         })
  892.     </script>
  893.     {% endif %}
  894.     
  895.     {{ parent() }}
  896.     {{ encore_entry_script_tags('pro-public') }}
  897.     {{ encore_entry_script_tags('search') }}
  898. {% endblock %}