templates/pages/_includes/details/_useful-informations.html.twig line 24

Open in your IDE?
  1. {#
  2. Informations utiles (« inclus / non inclus / formalités obligatoires »).
  3. Variables attendues : cruise (entité Cruise).
  4. NOTE : les champs `company.informations.including / excluding / complement_informations`
  5. ne sont pas (encore) exposés par l'entité Company. Les blocs ci-dessous resteront vides
  6. tant qu'un service ou que l'entité ne fournit pas cette donnée — c'est intentionnellement
  7. défensif pour ne pas casser la page.
  8. #}
  9. {% set company = cruise.ship.company|default(null) %}
  10. <div class="container-fluid mb-5">
  11. <div class="row">
  12. <div class="col-lg-1 col-md-1 col-sm-12"></div>
  13. <div class="col-lg-10 col-md-10 col-sm-12">
  14. {# Informations utiles #}
  15. <div class="usefull-informations">
  16. <h2 class="text-lg-bd">{{ getLucidIcon('info') }}
  17. {{ 'details.useful_information.title'|trans }}
  18. </h2>
  19. {% if getCruiseIncludeForAtmosphereArray(cruise) is not empty %}
  20. <div class="including accordion">
  21. <div class="title accordion-trigger br3 text-lg-bd">
  22. <div>
  23. <div class="icon">{{ getLucidIcon('circle-check-big') }}</div>
  24. <div>{{ 'details.useful_information.included'|trans }}</div>
  25. </div>
  26. <div class="icon">{{ getLucidIcon('chevron-up') }}</div>
  27. </div>
  28. <div class="accordion-content">
  29. <div class="elements">
  30. {% for element in getCruiseIncludeForAtmosphereArray(cruise) %}
  31. <div class="element">
  32. <div class="icon">{{ getLucidIcon('check') }}</div>
  33. <div>{{ element|capitalize }}</div>
  34. </div>
  35. {% endfor %}
  36. </div>
  37. </div>
  38. </div>
  39. {% endif %}
  40. {% if getCruiseExcludeForAtmosphereArray(cruise) is not empty %}
  41. <div class="excluding accordion">
  42. <div class="title accordion-trigger br3 text-lg-bd">
  43. <div>
  44. <div class="icon">{{ getLucidIcon('badge-x') }}</div>
  45. <div>{{ 'details.useful_information.excluded'|trans }}</div>
  46. </div>
  47. <div class="icon">{{ getLucidIcon('chevron-up') }}</div>
  48. </div>
  49. <div class="accordion-content">
  50. <div class="elements">
  51. {% for element in getCruiseExcludeForAtmosphereArray(cruise) %}
  52. <div class="element">
  53. <div class="icon">{{ getLucidIcon('x') }}</div>
  54. <div>{{ element|capitalize }}</div>
  55. </div>
  56. {% endfor %}
  57. </div>
  58. </div>
  59. </div>
  60. {% endif %}
  61. {% if company.informations.complement_informations.texts is defined and company.informations.complement_informations.texts is not empty %}
  62. <div class="formalities accordion">
  63. <div class="title accordion-trigger br3 text-lg-bd">
  64. <div>
  65. <div class="icon">{{ getLucidIcon('notebook-text') }}</div>
  66. <div>{{ 'details.useful_information.mandatory_formalities'|trans }}</div>
  67. </div>
  68. <div class="icon">{{ getLucidIcon('chevron-up') }}</div>
  69. </div>
  70. <div class="accordion-content">
  71. <div class="elements">
  72. {% for element in company.informations.complement_informations.texts|default([]) %}
  73. <div class="element">
  74. <div class="subtitle">{{ element.title|raw }}</div>
  75. <div class="text">{{ element.text|raw }}</div>
  76. </div>
  77. {% endfor %}
  78. <div class="element service_fees">
  79. <div class="subtitle">{{ 'details.useful_information.service_fees'|trans }} :</div>
  80. <div class="text">{{ company.informations.complement_informations.service_fees.text|default('')|raw }}</div>
  81. </div>
  82. <div class="array service_fees">
  83. <table>
  84. <thead>
  85. <th></th>
  86. <th></th>
  87. <th></th>
  88. </thead>
  89. <tbody>
  90. {% for element in company.informations.complement_informations.service_fees.array|default([]) %}
  91. <tr>
  92. {% for elmnt in element %}
  93. <td>{{ elmnt|raw }}</td>
  94. {% endfor %}
  95. </tr>
  96. {% endfor %}
  97. </tbody>
  98. </table>
  99. </div>
  100. </div>
  101. {% if company.informations.complement_informations.service_fees.accordions is defined and company.informations.complement_informations.service_fees.accordions is not empty %}
  102. <div class="accordions">
  103. {% for accordion in company.informations.complement_informations.service_fees.accordions %}
  104. <div class="accordion br2">
  105. <div class="title accordion-trigger br3">
  106. <div>
  107. {% if accordion.icon is defined %}
  108. <div class="icon">{{ getLucidIcon(accordion.icon) }}</div>
  109. {% endif %}
  110. {{ accordion.title|raw }}
  111. </div>
  112. <div class="icon">{{ getLucidIcon('chevron-up') }}</div>
  113. </div>
  114. <div class="accordion-content">
  115. <div class="elements">
  116. {% if accordion.elements is defined %}
  117. {% for element in accordion.elements %}
  118. <div class="element">
  119. {{ element|raw }}
  120. </div>
  121. {% endfor %}
  122. {% endif %}
  123. </div>
  124. </div>
  125. </div>
  126. {% endfor %}
  127. </div>
  128. {% endif %}
  129. </div>
  130. </div>
  131. {% endif %}
  132. </div>
  133. </div>
  134. </div>
  135. <div class="col-lg-1 col-md-1 col-sm-12"></div>
  136. </div>
  137. </div>