templates/_snippets/visited_recently.html.twig line 1

Open in your IDE?
  1. {# ------------------------------------------------------------------------ #}
  2. {# ----------------------------- PARAMÉTRAGES ----------------------------- #}
  3. {# ------------------------------------------------------------------------ #}
  4. {% set effectiveSectionSettings = showSectionSettings|default(true) ? sectionSettings|default({}) : {} %}
  5. {% set content = effectiveSectionSettings|merge(visitedRecently) %}
  6. {% set visitedRecently = content %}
  7. {% set visitedRecentlyId = 'visited_recently-' ~ random() %}
  8. {% set cardsLimit = visitedRecently.limit|default(5) %}
  9. {% if cardsLimit < 1 %}
  10. {% set cardsLimit = 5 %}
  11. {% endif %}
  12. {% set idsCookie = app.request.cookies.get('visitedCruises')|default('') %}
  13. {% set ids = idsCookie ? idsCookie|split(',') : [] %}
  14. {% include '_snippets/sections/cards_section_settings.html.twig' with {
  15. 'content': content,
  16. 'id': visitedRecentlyId,
  17. } %}
  18. {% set buttonSettings = {
  19. 'padding': visitedRecently.paddingButtonTopBottomContent|default(14) ~ visitedRecently.paddingButtonUnitContent|default('px') ~ ' ' ~ visitedRecently.paddingButtonRightLeftContent|default(14) ~ visitedRecently.paddingButtonUnitContent|default('px'),
  20. 'color': visitedRecently.colorButtonContent|default('#004461'),
  21. 'background-color': visitedRecently.backgroundColorButtonContent|default('#FFFFFF'),
  22. 'border-radius': visitedRecently.borderRadiusButtonContent|default(0.75) ~ visitedRecently.borderRadiusButtonContentUnit|default('rem'),
  23. 'font-size': '16px',
  24. 'font-weight': '500',
  25. 'border': visitedRecently.borderSizeButtonContent|default(1) ~ visitedRecently.borderSizeButtonContentUnit|default('px') ~ ' solid ' ~ visitedRecently.borderColorButtonContent|default('#F2F2F2'),
  26. } %}
  27. {% set conditionSettings = {
  28. 'color': visitedRecently.textColorCards|default('#6C6C6C'),
  29. 'font-weight': visitedRecently.textWeightCards|default(400),
  30. 'font-size': visitedRecently.textSizeCards|default(0.875) ~ visitedRecently.textSizeUnitCards|default('rem'),
  31. } %}
  32. <section id="{{ visitedRecentlyId }}" class="visited-recently">
  33. <div class="visited-recently-head">
  34. <h2>
  35. <div class="icon">
  36. {{ getLucidIcon(attribute(visitedRecently, 'pictogramTitleSection')|default('')) }}
  37. </div>
  38. {{ attribute(visitedRecently, 'titleTextSection')|default('')|raw }}
  39. </h2>
  40. <div class="chevrons"></div>
  41. </div>
  42. <div id="{{ visitedRecentlyId }}-preloader" class="visited-recently-preloader" style="display: none;">
  43. {% include "pages/_includes/preloaders/_preload-visited_recently.html.twig" %}
  44. </div>
  45. <div class="slider" data-visited-recently-container>
  46. <div class="cards" data-visited-recently-cards data-visited-cruises>
  47. {% for rawId in ids|slice(0, cardsLimit) %}
  48. {% set id = rawId|trim %}
  49. {% set cruise = id != '' ? getCruiseById(id) : null %}
  50. {% if cruise %}
  51. <div class="card" data-cruise-id="{{ id }}">
  52. {% include '_snippets/components/cards/mini_card.html.twig' with {
  53. cruise: cruise,
  54. isPriorityLoad: true,
  55. } only %}
  56. </div>
  57. {% endif %}
  58. {% endfor %}
  59. </div>
  60. </div>
  61. </section>
  62. <style>
  63. .visited-recently-preloader {
  64. overflow: hidden;
  65. padding-left: var(--padding-left-section, 1.125rem);
  66. }
  67. #{{ visitedRecentlyId }} {
  68. --padding-left-section: {{ visitedRecently.paddingLeftRightSection|default(1.125) ~ visitedRecently.paddingUnitSection|default('rem') }};
  69. --card-border-radius: {{ visitedRecently.borderRadiusCards|default(1.125) ~ visitedRecently.borderRadiusUnitCards|default('rem') }};
  70. --card-image-height: {{ visitedRecently.imageHeightCards|default(9) ~ visitedRecently.imageHeightCardsUnit|default('rem') }};
  71. --card-padding: {{ visitedRecently.paddingTopBottomCards|default(6) ~ visitedRecently.paddingUnitCards|default('px') }}
  72. {{ visitedRecently.paddingRightLeftCards|default(6) ~ visitedRecently.paddingUnitCards|default('px') }};
  73. --title-font-size: {{ visitedRecently.titleSizeCards|default(1.125) ~ visitedRecently.titleSizeUnitCards|default('rem') }};
  74. --title-font-weight: {{ visitedRecently.titleWeightCards|default(500) }};
  75. --title-color: {{ visitedRecently.titleColorCards|default('#1D1D1D') }};
  76. --text-color: {{ visitedRecently.textColorCards|default('#6C6C6C') }};
  77. --text-font-size: {{ visitedRecently.textSizeCards|default(0.875) ~ visitedRecently.textSizeUnitCards|default('rem') }};
  78. --text-font-weight: {{ visitedRecently.textWeightCards|default(400) }};
  79. --icon-width: {{ visitedRecently.textSizeCards|default(0.875) * 0.85 ~ visitedRecently.textSizeUnitCards|default('rem') }};
  80. --price-color: {{ visitedRecently.priceColorCards|default('#FF5C00') }};
  81. --price-font-size: {{ visitedRecently.priceSizeCards|default(1.25) ~ visitedRecently.priceSizeUnitCards|default('rem') }};
  82. --price-font-weight: {{ visitedRecently.priceWeightCards|default(700) }};
  83. --button-padding: {{ visitedRecently.paddingButtonTopBottomContent|default(14) ~ visitedRecently.paddingButtonUnitContent|default('px') }}
  84. {{ visitedRecently.paddingButtonRightLeftContent|default(14) ~ visitedRecently.paddingButtonUnitContent|default('px') }};
  85. --button-color: {{ visitedRecently.colorButtonContent|default('#004461') }};
  86. --button-bg-color: {{ visitedRecently.backgroundColorButtonContent|default('#FFFFFF') }};
  87. --button-border-radius: {{ visitedRecently.borderRadiusButtonContent|default(0.75) ~ visitedRecently.borderRadiusButtonContentUnit|default('rem') }};
  88. --button-border: {{ visitedRecently.borderSizeButtonContent|default(1) ~ visitedRecently.borderSizeButtonContentUnit|default('px') }}
  89. solid {{ visitedRecently.borderColorButtonContent|default('#F2F2F2') }};
  90. }
  91. </style>