var/cache/website/dev/twig/03/030933bb956a41663a0b4410e47956f9.php line 108

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Sandbox\SecurityNotAllowedTestError;
  13. use Twig\Source;
  14. use Twig\Template;
  15. use Twig\TemplateWrapper;
  16. /* ./pages/ddd.html.twig */
  17. class __TwigTemplate_d5a5278eea6f67145c72f5a2c5470d8e extends Template
  18. {
  19. private Source $source;
  20. /**
  21. * @var array<string, Template>
  22. */
  23. private array $macros = [];
  24. public function __construct(Environment $env)
  25. {
  26. parent::__construct($env);
  27. $this->source = $this->getSourceContext();
  28. $this->parent = false;
  29. $this->blocks = [
  30. 'stylesheets' => [$this, 'block_stylesheets'],
  31. 'content' => [$this, 'block_content'],
  32. ];
  33. }
  34. protected function doDisplay(array $context, array $blocks = []): iterable
  35. {
  36. $macros = $this->macros;
  37. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "./pages/ddd.html.twig"));
  39. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "./pages/ddd.html.twig"));
  41. // line 1
  42. $context["url"] = (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1, $this->source); })()), "request", [], "any", false, false, false, 1), "server", [], "any", false, false, false, 1), "get", ["REQUEST_SCHEME"], "method", false, false, false, 1) . "://") . CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1, $this->source); })()), "request", [], "any", false, false, false, 1), "server", [], "any", false, false, false, 1), "get", ["SERVER_NAME"], "method", false, false, false, 1)) . CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1, $this->source); })()), "request", [], "any", false, false, false, 1), "server", [], "any", false, false, false, 1), "get", ["REQUEST_URI"], "method", false, false, false, 1));
  43. // line 2
  44. $context["cruise"] = ((array_key_exists("cruise", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 2, $this->source); })()), (((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2, $this->source); })()), "request", [], "any", false, false, false, 2), "get", ["croisiere"], "method", false, false, false, 2)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cruise\CruiseExtension']->getCruiseById(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2, $this->source); })()), "request", [], "any", false, false, false, 2), "get", ["croisiere"], "method", false, false, false, 2))) : (null)))) : ((((($tmp = CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2, $this->source); })()), "request", [], "any", false, false, false, 2), "get", ["croisiere"], "method", false, false, false, 2)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cruise\CruiseExtension']->getCruiseById(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2, $this->source); })()), "request", [], "any", false, false, false, 2), "get", ["croisiere"], "method", false, false, false, 2))) : (null))));
  45. // line 3
  46. $context["cabinDatasTree"] = ((array_key_exists("cabinDatasTree", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["cabinDatasTree"]) || array_key_exists("cabinDatasTree", $context) ? $context["cabinDatasTree"] : (function () { throw new RuntimeError('Variable "cabinDatasTree" does not exist.', 3, $this->source); })()), (((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 3, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->getCabinDatasTreeForCruise((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 3, $this->source); })()))) : ([])))) : ((((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 3, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->getCabinDatasTreeForCruise((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 3, $this->source); })()))) : ([]))));
  47. // line 4
  48. $context["cabinDatasTreeJson"] = ((array_key_exists("cabinDatasTreeJson", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["cabinDatasTreeJson"]) || array_key_exists("cabinDatasTreeJson", $context) ? $context["cabinDatasTreeJson"] : (function () { throw new RuntimeError('Variable "cabinDatasTreeJson" does not exist.', 4, $this->source); })()), (((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 4, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->getCabinDatasTreeJsonForCruise((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 4, $this->source); })()))) : ([])))) : ((((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 4, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->getCabinDatasTreeJsonForCruise((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 4, $this->source); })()))) : ([]))));
  49. // line 5
  50. $context["hasAtmospheres"] = ((array_key_exists("hasAtmospheres", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 5, $this->source); })()), (((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 5, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->cruiseHasAtmospheres((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 5, $this->source); })()))) : (false)))) : ((((($tmp = (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 5, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ($this->extensions['App\Twig\Cabin\CabinDatasTreeExtension']->cruiseHasAtmospheres((isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 5, $this->source); })()))) : (false))));
  51. // line 6
  52. yield "
  53. ";
  54. // line 7
  55. yield from $this->unwrap()->yieldBlock('stylesheets', $context, $blocks);
  56. // line 10
  57. yield "
  58. ";
  59. // line 11
  60. yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
  61. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  62. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  63. yield from [];
  64. }
  65. // line 7
  66. /**
  67. * @return iterable<null|scalar|\Stringable>
  68. */
  69. public function block_stylesheets(array $context, array $blocks = []): iterable
  70. {
  71. $macros = $this->macros;
  72. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  73. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  74. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  75. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  76. // line 8
  77. yield "\t<link rel=\"stylesheet\" href=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css\" crossorigin=\"\"/>
  78. ";
  79. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  80. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  81. yield from [];
  82. }
  83. // line 11
  84. /**
  85. * @return iterable<null|scalar|\Stringable>
  86. */
  87. public function block_content(array $context, array $blocks = []): iterable
  88. {
  89. $macros = $this->macros;
  90. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  91. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  92. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  93. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  94. // line 12
  95. yield "\t";
  96. $context["countries"] = [];
  97. // line 13
  98. yield "\t";
  99. $context["drinks_packages"] = [];
  100. // line 14
  101. yield "\t";
  102. $context["segments"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "itinerary", [], "any", false, true, false, 14), "itinerarySegments", [], "any", true, true, false, 14)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 14, $this->source); })()), "itinerary", [], "any", false, false, false, 14), "itinerarySegments", [], "any", false, false, false, 14), [])) : ([]));
  103. // line 15
  104. yield "\t";
  105. $context["atmospheres"] = [];
  106. // line 16
  107. yield "\t";
  108. $context["pathImage"] = "/img/photos-temporaires/cruise/";
  109. // line 17
  110. yield "
  111. \t";
  112. // line 19
  113. yield "\t";
  114. $context["nb_days"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "itinerary", [], "any", false, true, false, 19), "numberOfDays", [], "any", true, true, false, 19)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 19, $this->source); })()), "itinerary", [], "any", false, false, false, 19), "numberOfDays", [], "any", false, false, false, 19), 1)) : (1));
  115. // line 20
  116. yield "
  117. \t";
  118. // line 22
  119. yield "\t";
  120. $context["departure_date"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "date", [], "any", true, true, false, 22)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 22, $this->source); })()), "date", [], "any", false, false, false, 22), "")) : (""));
  121. // line 23
  122. yield "\t";
  123. $context["arrival_date"] = "";
  124. // line 24
  125. yield "
  126. \t";
  127. // line 25
  128. $context["departurePort"] = ((CoreExtension::getAttribute($this->env, $this->source, $this->extensions['App\Twig\Itinerary\ItineraryExtension']->getDeparturePort(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 25, $this->source); })()), "itinerary", [], "any", false, false, false, 25)), "name", [], "any", true, true, false, 25)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, $this->extensions['App\Twig\Itinerary\ItineraryExtension']->getDeparturePort(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 25, $this->source); })()), "itinerary", [], "any", false, false, false, 25)), "name", [], "any", false, false, false, 25), "")) : (""));
  129. // line 26
  130. yield "\t";
  131. $context["arrivalPort"] = ((CoreExtension::getAttribute($this->env, $this->source, $this->extensions['App\Twig\Itinerary\ItineraryExtension']->getArrivalPort(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 26, $this->source); })()), "itinerary", [], "any", false, false, false, 26)), "name", [], "any", true, true, false, 26)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, $this->extensions['App\Twig\Itinerary\ItineraryExtension']->getArrivalPort(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 26, $this->source); })()), "itinerary", [], "any", false, false, false, 26)), "name", [], "any", false, false, false, 26), (isset($context["departurePort"]) || array_key_exists("departurePort", $context) ? $context["departurePort"] : (function () { throw new RuntimeError('Variable "departurePort" does not exist.', 26, $this->source); })()))) : ((isset($context["departurePort"]) || array_key_exists("departurePort", $context) ? $context["departurePort"] : (function () { throw new RuntimeError('Variable "departurePort" does not exist.', 26, $this->source); })())));
  132. // line 27
  133. yield "
  134. \t<div id=\"loader-wrapper\" class=\"loader-container\">
  135. \t\t<div class=\"loader\"></div>
  136. \t</div>
  137. \t";
  138. // line 32
  139. $context["services"] = [];
  140. // line 33
  141. yield "\t";
  142. $context["dddI18n"] = ["step_names" => ["1" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.type"), "2" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.atmosphere"), "3" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.cabin"), "4" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.quote"), "5" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.step_confirmation")], "step_title" => ["type" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step_title.type"), "atmosphere" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step_title.atmosphere"), "selection" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step_title.selection"), "quote" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step_title.quote")], "choose_cabin_type" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.choose_cabin_type"), "choose_atmosphere" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.choose_atmosphere"), "atmosphere_no_available" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.atmosphere.no_available"), "atmosphere_title_short" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.atmosphere.title_short"), "validate_choice" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.validate_choice"), "accessibility" => ["step_1" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.step_1"), "step_2" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.step_2"), "step_3" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.step_3"), "step_4" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.step_4"), "confirmation" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.confirmation"), "reservation_progress" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.accessibility.reservation_progress")], "js" => ["unknown" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.unknown"), "cabin_fallback" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.cabin_fallback"), "atmosphere_fallback" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.atmosphere_fallback"), "parent_benefits_single" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.parent_benefits_single"), "parent_benefits_multiple" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.parent_benefits_multiple"), "quote_error" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.quote_error"), "copy_file_error" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.copy_file_error"), "copy_file_manual" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.copy_file_manual"), "copy_error_manual" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.copy_error_manual"), "copy_success" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.copy_success"), "pdf_no_data" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.pdf_no_data"), "cabin_details_title" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.cabin_details_title"), "step_fallback" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.js.step_fallback"), "surface_label" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.cabin_characteristics.surface_label"), "deck_label" => $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.cabin_characteristics.decks")]];
  143. // line 78
  144. yield "\t<div
  145. \t\tclass=\"content container-fluid cruise-container\"
  146. \t\tdata-ddd-i18n=\"";
  147. // line 80
  148. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(json_encode((isset($context["dddI18n"]) || array_key_exists("dddI18n", $context) ? $context["dddI18n"] : (function () { throw new RuntimeError('Variable "dddI18n" does not exist.', 80, $this->source); })())), "html_attr");
  149. yield "\"
  150. \t\tdata-ddd-lazy=\"1\"
  151. \t\tdata-cruise-id=\"";
  152. // line 82
  153. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((CoreExtension::getAttribute($this->env, $this->source, ($context["cruise"] ?? null), "id", [], "any", true, true, false, 82)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 82, $this->source); })()), "id", [], "any", false, false, false, 82), "")) : ("")), "html", null, true);
  154. yield "\"
  155. \t\tdata-has-atmospheres=\"";
  156. // line 83
  157. yield (string) (((($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 83, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? ("1") : ("0"));
  158. yield "\"
  159. \t\tdata-cabin-datas-tree=\x27";
  160. // line 84
  161. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(json_encode((isset($context["cabinDatasTreeJson"]) || array_key_exists("cabinDatasTreeJson", $context) ? $context["cabinDatasTreeJson"] : (function () { throw new RuntimeError('Variable "cabinDatasTreeJson" does not exist.', 84, $this->source); })()), Twig\Extension\CoreExtension::constant("JSON_UNESCAPED_UNICODE")), "html_attr");
  162. yield "\x27>
  163. \t\t<div class=\"col-right\">
  164. \t\t\t<h1 class=\"text-xl-bd color-secondary-dark\">";
  165. // line 87
  166. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.trip_summary"), "html", null, true);
  167. yield "</h1>
  168. \t\t\t<div class=\"ddd-aside\">
  169. \t\t\t\t";
  170. // line 89
  171. yield from $this->load("pages/_includes/ddd/_summary.html.twig", 89)->unwrap()->yield(CoreExtension::merge($context, ["cruise" => // line 90
  172. (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 90, $this->source); })()), "itinerary" => CoreExtension::getAttribute($this->env, $this->source, // line 91
  173. (isset($context["cruise"]) || array_key_exists("cruise", $context) ? $context["cruise"] : (function () { throw new RuntimeError('Variable "cruise" does not exist.', 91, $this->source); })()), "itinerary", [], "any", false, false, false, 91), "company" => (( // line 92
  174. array_key_exists("company", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["company"]) || array_key_exists("company", $context) ? $context["company"] : (function () { throw new RuntimeError('Variable "company" does not exist.', 92, $this->source); })()), null)) : (null)), "hasAtmospheres" => // line 93
  175. (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 93, $this->source); })()), "companyLogoUrl" => (( // line 94
  176. array_key_exists("companyLogoUrl", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["companyLogoUrl"]) || array_key_exists("companyLogoUrl", $context) ? $context["companyLogoUrl"] : (function () { throw new RuntimeError('Variable "companyLogoUrl" does not exist.', 94, $this->source); })()), null)) : (null)), "shipMainImageUrl" => (( // line 95
  177. array_key_exists("shipMainImageUrl", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["shipMainImageUrl"]) || array_key_exists("shipMainImageUrl", $context) ? $context["shipMainImageUrl"] : (function () { throw new RuntimeError('Variable "shipMainImageUrl" does not exist.', 95, $this->source); })()), null)) : (null))]));
  178. // line 97
  179. yield "\t\t\t</div>
  180. \t\t</div>
  181. \t\t<div
  182. \t\t\tclass=\"col-left\">
  183. \t\t\t";
  184. // line 104
  185. yield "
  186. \t\t\t<div class=\"thread\">
  187. \t\t\t\t";
  188. // line 107
  189. yield "\t\t\t\t<button id=\"btn-back\" type=\"button\" class=\"btn medium style2 transparent-white text-md-sbd thread-back-desktop\">
  190. \t\t\t\t\t<div class=\"icon\">";
  191. // line 108
  192. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("arrow-left");
  193. yield "</div>
  194. \t\t\t\t\t<span>";
  195. // line 109
  196. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.back"), "html", null, true);
  197. yield "</span>
  198. \t\t\t\t</button>
  199. \t\t\t\t<div class=\"mobile-thread\">
  200. \t\t\t\t\t<div class=\"mobile-thread-nav\">
  201. \t\t\t\t\t\t<button type=\"button\" class=\"mobile-back-btn\" id=\"mobile-back-btn\" aria-label=\"";
  202. // line 114
  203. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.back"), "html", null, true);
  204. yield "\">
  205. \t\t\t\t\t\t\t<div class=\"icon\">";
  206. // line 115
  207. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("arrow-left");
  208. yield "</div>
  209. \t\t\t\t\t\t</button>
  210. \t\t\t\t\t\t<div class=\"step-name\" id=\"mobile-step-name\">";
  211. // line 117
  212. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.type"), "html", null, true);
  213. yield "</div>
  214. \t\t\t\t\t\t<div class=\"step-number\" id=\"mobile-step-number\">1/";
  215. // line 118
  216. yield (string) (((($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 118, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (4) : (3));
  217. yield "</div>
  218. \t\t\t\t\t</div>
  219. \t\t\t\t\t<button type=\"button\" class=\"mobile-recap-btn\" id=\"mobile-recap-btn\">
  220. \t\t\t\t\t\t";
  221. // line 122
  222. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.mobile.recap_full"), "html", null, true);
  223. yield "
  224. \t\t\t\t\t</button>
  225. \t\t\t\t</div>
  226. \t\t\t\t<div id=\"reservation-thread\" class=\"\" data-visible-steps=\"";
  227. // line 126
  228. yield (string) (((($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 126, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (4) : (3));
  229. yield "\">
  230. \t\t\t\t\t<div id=\"reservation-step-1\" class=\"current\" data-logical-step=\"1\">
  231. \t\t\t\t\t\t<div class=\"icon br2\">";
  232. // line 128
  233. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("ratio");
  234. yield "</div>
  235. \t\t\t\t\t\t<div class=\"step step br1 text-xs-md color-secondary-dark\">";
  236. // line 129
  237. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.type"), "html", null, true);
  238. yield "</div>
  239. \t\t\t\t\t</div>
  240. \t\t\t\t\t";
  241. // line 131
  242. if ((($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 131, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  243. // line 132
  244. yield "\t\t\t\t\t<div id=\"reservation-step-2\" class=\"\" data-logical-step=\"2\">
  245. \t\t\t\t\t\t<div class=\"icon br2\">";
  246. // line 133
  247. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("sparkle");
  248. yield "</div>
  249. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">";
  250. // line 134
  251. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.atmosphere"), "html", null, true);
  252. yield "</div>
  253. \t\t\t\t\t</div>
  254. \t\t\t\t\t";
  255. }
  256. // line 137
  257. yield "\t\t\t\t\t<div id=\"reservation-step-3\" class=\"\" data-logical-step=\"3\">
  258. \t\t\t\t\t\t<div class=\"icon br2\">";
  259. // line 138
  260. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("bed-double");
  261. yield "</div>
  262. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">";
  263. // line 139
  264. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.cabin"), "html", null, true);
  265. yield "</div>
  266. \t\t\t\t\t</div>
  267. \t\t\t\t\t<div id=\"reservation-step-4\" class=\"\" data-logical-step=\"4\">
  268. \t\t\t\t\t\t<div class=\"icon br2\">";
  269. // line 142
  270. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("file-text");
  271. yield "</div>
  272. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">";
  273. // line 143
  274. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step.quote"), "html", null, true);
  275. yield "</div>
  276. \t\t\t\t\t</div>
  277. \t\t\t\t</div>
  278. \t\t\t</div>
  279. \t\t\t<div id=\"ddd-step-title-icons\" hidden aria-hidden=\"true\">
  280. \t\t\t\t<span data-step=\"1\">";
  281. // line 149
  282. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("ratio");
  283. yield "</span>
  284. \t\t\t\t<span data-step=\"2\">";
  285. // line 150
  286. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("sparkle");
  287. yield "</span>
  288. \t\t\t\t<span data-step=\"3\">";
  289. // line 151
  290. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("bed-double");
  291. yield "</span>
  292. \t\t\t\t<span data-step=\"4\">";
  293. // line 152
  294. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("file-text");
  295. yield "</span>
  296. \t\t\t</div>
  297. \t\t\t<h2 id=\"step-title\" class=\"step-title text-xl-bd color-secondary-dark\">
  298. \t\t\t\t<span class=\"step-title__leading\" aria-hidden=\"true\">";
  299. // line 156
  300. yield (string) $this->env->getFunction('getLucidIcon')->getCallable()("ratio");
  301. yield "</span>
  302. \t\t\t\t<span class=\"step-title__text\">";
  303. // line 157
  304. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.step_title.type"), "html", null, true);
  305. yield " </span>
  306. \t\t\t\t<select name=\"select_cabin_type\" class=\"select-cabin-type\">
  307. \t\t\t\t\t<option disabled selected value=\"\">";
  308. // line 159
  309. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.choose_cabin_type"), "Choisissez un type de cabine"), "html", null, true);
  310. yield "</option>
  311. \t\t\t\t\t";
  312. // line 160
  313. $context['_parent'] = $context;
  314. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["cabinDatasTree"]) || array_key_exists("cabinDatasTree", $context) ? $context["cabinDatasTree"] : (function () { throw new RuntimeError('Variable "cabinDatasTree" does not exist.', 160, $this->source); })()));
  315. foreach ($context['_seq'] as $context["_key"] => $context["cabinTypeNode"]) {
  316. // line 161
  317. yield "\t\t\t\t\t\t";
  318. $context['_parent'] = $context;
  319. $context['_seq'] = CoreExtension::ensureTraversable(((CoreExtension::getAttribute($this->env, $this->source, $context["cabinTypeNode"], "cabinSubTypes", [], "any", true, true, false, 161)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, $context["cabinTypeNode"], "cabinSubTypes", [], "any", false, false, false, 161), [])) : ([])));
  320. foreach ($context['_seq'] as $context["_key"] => $context["subTypeNode"]) {
  321. // line 162
  322. yield "\t\t\t\t\t\t\t<option value=\"";
  323. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["subTypeNode"], "cabinSubType", [], "any", false, false, false, 162), "id", [], "any", false, false, false, 162), "html", null, true);
  324. yield "\">";
  325. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["subTypeNode"], "cabinSubType", [], "any", false, false, false, 162), "name", [], "any", false, false, false, 162), "html", null, true);
  326. yield "</option>
  327. \t\t\t\t\t\t";
  328. }
  329. $_parent = $context['_parent'];
  330. unset($context['_seq'], $context['_key'], $context['subTypeNode'], $context['_parent']);
  331. $context = array_intersect_key($context, $_parent);
  332. $context += $_parent;
  333. // line 164
  334. yield "\t\t\t\t\t";
  335. }
  336. $_parent = $context['_parent'];
  337. unset($context['_seq'], $context['_key'], $context['cabinTypeNode'], $context['_parent']);
  338. $context = array_intersect_key($context, $_parent);
  339. $context += $_parent;
  340. // line 165
  341. yield "\t\t\t\t</select>
  342. \t\t\t\t<select name=\"select_atmosphere\" class=\"select-atmosphere\"";
  343. // line 166
  344. if ( !(($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 166, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  345. yield " hidden";
  346. }
  347. yield ">
  348. \t\t\t\t\t<option disabled selected value=\"\">";
  349. // line 167
  350. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ddd.choose_atmosphere"), "html", null, true);
  351. yield "</option>
  352. \t\t\t\t</select>
  353. \t\t\t</h2>
  354. \t\t\t<div class=\"ddd-main\">
  355. \t\t\t";
  356. // line 173
  357. yield "\t\t\t<div id=\"step-type\" class=\"ddd-step-panel is-active\">
  358. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  359. \t\t\t\t\t";
  360. // line 175
  361. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.loading"), "Chargement..."), "html", null, true);
  362. yield "
  363. \t\t\t\t</div>
  364. \t\t\t</div>
  365. \t\t\t";
  366. // line 180
  367. yield "\t\t\t";
  368. if ((($tmp = (isset($context["hasAtmospheres"]) || array_key_exists("hasAtmospheres", $context) ? $context["hasAtmospheres"] : (function () { throw new RuntimeError('Variable "hasAtmospheres" does not exist.', 180, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  369. // line 181
  370. yield "\t\t\t<div id=\"step-atmosphere\" class=\"ddd-step-panel\">
  371. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  372. \t\t\t\t\t";
  373. // line 183
  374. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.loading"), "Chargement..."), "html", null, true);
  375. yield "
  376. \t\t\t\t</div>
  377. \t\t\t</div>
  378. \t\t\t";
  379. }
  380. // line 187
  381. yield "
  382. \t\t\t";
  383. // line 189
  384. yield "\t\t\t<div id=\"step-subtype\" class=\"ddd-step-panel\">
  385. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  386. \t\t\t\t\t";
  387. // line 191
  388. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.loading"), "Chargement..."), "html", null, true);
  389. yield "
  390. \t\t\t\t</div>
  391. \t\t\t</div>
  392. \t\t\t";
  393. // line 196
  394. yield "\t\t\t<div id=\"step-quote-form\" class=\"ddd-step-panel\">
  395. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  396. \t\t\t\t\t";
  397. // line 198
  398. yield (string) $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("common.loading"), "Chargement..."), "html", null, true);
  399. yield "
  400. \t\t\t\t</div>
  401. \t\t\t</div>
  402. \t\t\t";
  403. // line 203
  404. yield "\t\t\t<div id=\"step-quote-summary\" style=\"display: none;\">
  405. \t\t\t\t";
  406. // line 204
  407. yield from $this->load("pages/_includes/ddd/_quote_summary.html.twig", 204)->unwrap()->yield($context);
  408. // line 205
  409. yield "\t\t\t</div>
  410. \t\t\t</div>
  411. \t\t</div>
  412. \t</div>
  413. \t";
  414. // line 226
  415. yield "
  416. ";
  417. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  418. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  419. yield from [];
  420. }
  421. /**
  422. * @codeCoverageIgnore
  423. */
  424. public function getTemplateName(): string
  425. {
  426. return "./pages/ddd.html.twig";
  427. }
  428. /**
  429. * @codeCoverageIgnore
  430. */
  431. public function isTraitable(): bool
  432. {
  433. return false;
  434. }
  435. /**
  436. * @codeCoverageIgnore
  437. */
  438. public function getDebugInfo(): array
  439. {
  440. return array ( 455 => 226, 445 => 205, 443 => 204, 440 => 203, 433 => 198, 429 => 196, 422 => 191, 418 => 189, 415 => 187, 408 => 183, 404 => 181, 401 => 180, 394 => 175, 390 => 173, 382 => 167, 376 => 166, 373 => 165, 366 => 164, 354 => 162, 349 => 161, 345 => 160, 341 => 159, 336 => 157, 332 => 156, 325 => 152, 321 => 151, 317 => 150, 313 => 149, 304 => 143, 300 => 142, 294 => 139, 290 => 138, 287 => 137, 281 => 134, 277 => 133, 274 => 132, 272 => 131, 267 => 129, 263 => 128, 258 => 126, 251 => 122, 244 => 118, 240 => 117, 235 => 115, 231 => 114, 223 => 109, 219 => 108, 216 => 107, 212 => 104, 204 => 97, 202 => 95, 201 => 94, 200 => 93, 199 => 92, 198 => 91, 197 => 90, 196 => 89, 191 => 87, 185 => 84, 181 => 83, 177 => 82, 172 => 80, 168 => 78, 165 => 33, 163 => 32, 156 => 27, 153 => 26, 151 => 25, 148 => 24, 145 => 23, 142 => 22, 139 => 20, 136 => 19, 133 => 17, 130 => 16, 127 => 15, 124 => 14, 121 => 13, 118 => 12, 105 => 11, 93 => 8, 80 => 7, 69 => 11, 66 => 10, 64 => 7, 61 => 6, 59 => 5, 57 => 4, 55 => 3, 53 => 2, 51 => 1,);
  441. }
  442. public function getSourceContext(): Source
  443. {
  444. return new Source("{% set url = app.request.server.get(\x27REQUEST_SCHEME\x27) ~ \x27://\x27 ~ app.request.server.get(\x27SERVER_NAME\x27) ~ app.request.server.get(\x27REQUEST_URI\x27) %}
  445. {% set cruise = cruise|default(app.request.get(\x27croisiere\x27) ? getCruiseById(app.request.get(\x27croisiere\x27)) : null) %}
  446. {% set cabinDatasTree = cabinDatasTree|default(cruise ? getCabinDatasTreeForCruise(cruise) : []) %}
  447. {% set cabinDatasTreeJson = cabinDatasTreeJson|default(cruise ? getCabinDatasTreeJsonForCruise(cruise) : []) %}
  448. {% set hasAtmospheres = hasAtmospheres|default(cruise ? cruiseHasAtmospheres(cruise) : false) %}
  449. {% block stylesheets %}
  450. \t<link rel=\"stylesheet\" href=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css\" crossorigin=\"\"/>
  451. {% endblock %}
  452. {% block content %}
  453. \t{% set countries = [] %}
  454. \t{% set drinks_packages = [] %}
  455. \t{% set segments = (cruise.itinerary.itinerarySegments|default([])) %}
  456. \t{% set atmospheres = [] %}
  457. \t{% set pathImage = \x27/img/photos-temporaires/cruise/\x27 %}
  458. \t{# Utiliser cruise depuis le controller #}
  459. \t{% set nb_days = cruise.itinerary.numberOfDays|default(1) %}
  460. \t{# Calcul des dates de départ et d\x27arrivée #}
  461. \t{% set departure_date = cruise.date|default(\x27\x27) %}
  462. \t{% set arrival_date = \x27\x27 %}
  463. \t{% set departurePort = get_departure_port(cruise.itinerary).name|default(\x27\x27) %}
  464. \t{% set arrivalPort = get_arrival_port(cruise.itinerary).name|default(departurePort) %}
  465. \t<div id=\"loader-wrapper\" class=\"loader-container\">
  466. \t\t<div class=\"loader\"></div>
  467. \t</div>
  468. \t{% set services = [] %}
  469. \t{% set dddI18n = {
  470. \t\tstep_names: {
  471. \t\t\t\x271\x27: \x27ddd.step.type\x27|trans,
  472. \t\t\t\x272\x27: \x27ddd.step.atmosphere\x27|trans,
  473. \t\t\t\x273\x27: \x27ddd.step.cabin\x27|trans,
  474. \t\t\t\x274\x27: \x27ddd.step.quote\x27|trans,
  475. \t\t\t\x275\x27: \x27ddd.js.step_confirmation\x27|trans,
  476. \t\t},
  477. \t\tstep_title: {
  478. \t\t\ttype: \x27ddd.step_title.type\x27|trans,
  479. \t\t\tatmosphere: \x27ddd.step_title.atmosphere\x27|trans,
  480. \t\t\tselection: \x27ddd.step_title.selection\x27|trans,
  481. \t\t\tquote: \x27ddd.step_title.quote\x27|trans,
  482. \t\t},
  483. \t\tchoose_cabin_type: \x27ddd.choose_cabin_type\x27|trans,
  484. \t\tchoose_atmosphere: \x27ddd.choose_atmosphere\x27|trans,
  485. \t\tatmosphere_no_available: \x27ddd.atmosphere.no_available\x27|trans,
  486. \t\tatmosphere_title_short: \x27ddd.atmosphere.title_short\x27|trans,
  487. \t\tvalidate_choice: \x27ddd.validate_choice\x27|trans,
  488. \t\taccessibility: {
  489. \t\t\tstep_1: \x27ddd.accessibility.step_1\x27|trans,
  490. \t\t\tstep_2: \x27ddd.accessibility.step_2\x27|trans,
  491. \t\t\tstep_3: \x27ddd.accessibility.step_3\x27|trans,
  492. \t\t\tstep_4: \x27ddd.accessibility.step_4\x27|trans,
  493. \t\t\tconfirmation: \x27ddd.accessibility.confirmation\x27|trans,
  494. \t\t\treservation_progress: \x27ddd.accessibility.reservation_progress\x27|trans,
  495. \t\t},
  496. \t\tjs: {
  497. \t\t\tunknown: \x27ddd.js.unknown\x27|trans,
  498. \t\t\tcabin_fallback: \x27ddd.js.cabin_fallback\x27|trans,
  499. \t\t\tatmosphere_fallback: \x27ddd.js.atmosphere_fallback\x27|trans,
  500. \t\t\tparent_benefits_single: \x27ddd.js.parent_benefits_single\x27|trans,
  501. \t\t\tparent_benefits_multiple: \x27ddd.js.parent_benefits_multiple\x27|trans,
  502. \t\t\tquote_error: \x27ddd.js.quote_error\x27|trans,
  503. \t\t\tcopy_file_error: \x27ddd.js.copy_file_error\x27|trans,
  504. \t\t\tcopy_file_manual: \x27ddd.js.copy_file_manual\x27|trans,
  505. \t\t\tcopy_error_manual: \x27ddd.js.copy_error_manual\x27|trans,
  506. \t\t\tcopy_success: \x27ddd.js.copy_success\x27|trans,
  507. \t\t\tpdf_no_data: \x27ddd.js.pdf_no_data\x27|trans,
  508. \t\t\tcabin_details_title: \x27ddd.js.cabin_details_title\x27|trans,
  509. \t\t\tstep_fallback: \x27ddd.js.step_fallback\x27|trans,
  510. \t\t\tsurface_label: \x27ddd.cabin_characteristics.surface_label\x27|trans,
  511. \t\t\tdeck_label: \x27ddd.cabin_characteristics.decks\x27|trans,
  512. \t\t},
  513. \t} %}
  514. \t<div
  515. \t\tclass=\"content container-fluid cruise-container\"
  516. \t\tdata-ddd-i18n=\"{{ dddI18n|json_encode|e(\x27html_attr\x27) }}\"
  517. \t\tdata-ddd-lazy=\"1\"
  518. \t\tdata-cruise-id=\"{{ cruise.id|default(\x27\x27) }}\"
  519. \t\tdata-has-atmospheres=\"{{ hasAtmospheres ? \x271\x27 : \x270\x27 }}\"
  520. \t\tdata-cabin-datas-tree=\x27{{ cabinDatasTreeJson|json_encode(constant(\x27JSON_UNESCAPED_UNICODE\x27))|e(\x27html_attr\x27) }}\x27>
  521. \t\t<div class=\"col-right\">
  522. \t\t\t<h1 class=\"text-xl-bd color-secondary-dark\">{{ \x27ddd.trip_summary\x27|trans }}</h1>
  523. \t\t\t<div class=\"ddd-aside\">
  524. \t\t\t\t{% include \x27pages/_includes/ddd/_summary.html.twig\x27 with {
  525. \t\t\t\t\tcruise: cruise,
  526. \t\t\t\t\titinerary: cruise.itinerary,
  527. \t\t\t\t\tcompany: company|default(null),
  528. \t\t\t\t\thasAtmospheres: hasAtmospheres,
  529. \t\t\t\t\tcompanyLogoUrl: companyLogoUrl|default(null),
  530. \t\t\t\t\tshipMainImageUrl: shipMainImageUrl|default(null),
  531. \t\t\t\t} %}
  532. \t\t\t</div>
  533. \t\t</div>
  534. \t\t<div
  535. \t\t\tclass=\"col-left\">
  536. \t\t\t{# ---------- Fil du parcours ---------- #}
  537. \t\t\t<div class=\"thread\">
  538. \t\t\t\t{# Retour desktop uniquement — mobile : #mobile-back-btn #}
  539. \t\t\t\t<button id=\"btn-back\" type=\"button\" class=\"btn medium style2 transparent-white text-md-sbd thread-back-desktop\">
  540. \t\t\t\t\t<div class=\"icon\">{{ getLucidIcon(\x27arrow-left\x27) }}</div>
  541. \t\t\t\t\t<span>{{ \x27common.back\x27|trans }}</span>
  542. \t\t\t\t</button>
  543. \t\t\t\t<div class=\"mobile-thread\">
  544. \t\t\t\t\t<div class=\"mobile-thread-nav\">
  545. \t\t\t\t\t\t<button type=\"button\" class=\"mobile-back-btn\" id=\"mobile-back-btn\" aria-label=\"{{ \x27common.back\x27|trans }}\">
  546. \t\t\t\t\t\t\t<div class=\"icon\">{{ getLucidIcon(\x27arrow-left\x27) }}</div>
  547. \t\t\t\t\t\t</button>
  548. \t\t\t\t\t\t<div class=\"step-name\" id=\"mobile-step-name\">{{ \x27ddd.step.type\x27|trans }}</div>
  549. \t\t\t\t\t\t<div class=\"step-number\" id=\"mobile-step-number\">1/{{ hasAtmospheres ? 4 : 3 }}</div>
  550. \t\t\t\t\t</div>
  551. \t\t\t\t\t<button type=\"button\" class=\"mobile-recap-btn\" id=\"mobile-recap-btn\">
  552. \t\t\t\t\t\t{{ \x27ddd.mobile.recap_full\x27|trans }}
  553. \t\t\t\t\t</button>
  554. \t\t\t\t</div>
  555. \t\t\t\t<div id=\"reservation-thread\" class=\"\" data-visible-steps=\"{{ hasAtmospheres ? 4 : 3 }}\">
  556. \t\t\t\t\t<div id=\"reservation-step-1\" class=\"current\" data-logical-step=\"1\">
  557. \t\t\t\t\t\t<div class=\"icon br2\">{{ getLucidIcon(\x27ratio\x27) }}</div>
  558. \t\t\t\t\t\t<div class=\"step step br1 text-xs-md color-secondary-dark\">{{ \x27ddd.step.type\x27|trans }}</div>
  559. \t\t\t\t\t</div>
  560. \t\t\t\t\t{% if hasAtmospheres %}
  561. \t\t\t\t\t<div id=\"reservation-step-2\" class=\"\" data-logical-step=\"2\">
  562. \t\t\t\t\t\t<div class=\"icon br2\">{{ getLucidIcon(\x27sparkle\x27) }}</div>
  563. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">{{ \x27ddd.step.atmosphere\x27|trans }}</div>
  564. \t\t\t\t\t</div>
  565. \t\t\t\t\t{% endif %}
  566. \t\t\t\t\t<div id=\"reservation-step-3\" class=\"\" data-logical-step=\"3\">
  567. \t\t\t\t\t\t<div class=\"icon br2\">{{ getLucidIcon(\x27bed-double\x27) }}</div>
  568. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">{{ \x27ddd.step.cabin\x27|trans }}</div>
  569. \t\t\t\t\t</div>
  570. \t\t\t\t\t<div id=\"reservation-step-4\" class=\"\" data-logical-step=\"4\">
  571. \t\t\t\t\t\t<div class=\"icon br2\">{{ getLucidIcon(\x27file-text\x27) }}</div>
  572. \t\t\t\t\t\t<div class=\"step br1 text-xs-md color-secondary-dark\">{{ \x27ddd.step.quote\x27|trans }}</div>
  573. \t\t\t\t\t</div>
  574. \t\t\t\t</div>
  575. \t\t\t</div>
  576. \t\t\t<div id=\"ddd-step-title-icons\" hidden aria-hidden=\"true\">
  577. \t\t\t\t<span data-step=\"1\">{{ getLucidIcon(\x27ratio\x27) }}</span>
  578. \t\t\t\t<span data-step=\"2\">{{ getLucidIcon(\x27sparkle\x27) }}</span>
  579. \t\t\t\t<span data-step=\"3\">{{ getLucidIcon(\x27bed-double\x27) }}</span>
  580. \t\t\t\t<span data-step=\"4\">{{ getLucidIcon(\x27file-text\x27) }}</span>
  581. \t\t\t</div>
  582. \t\t\t<h2 id=\"step-title\" class=\"step-title text-xl-bd color-secondary-dark\">
  583. \t\t\t\t<span class=\"step-title__leading\" aria-hidden=\"true\">{{ getLucidIcon(\x27ratio\x27) }}</span>
  584. \t\t\t\t<span class=\"step-title__text\">{{ \x27ddd.step_title.type\x27|trans }} </span>
  585. \t\t\t\t<select name=\"select_cabin_type\" class=\"select-cabin-type\">
  586. \t\t\t\t\t<option disabled selected value=\"\">{{ \x27ddd.choose_cabin_type\x27|trans|default(\x27Choisissez un type de cabine\x27) }}</option>
  587. \t\t\t\t\t{% for cabinTypeNode in cabinDatasTree %}
  588. \t\t\t\t\t\t{% for subTypeNode in cabinTypeNode.cabinSubTypes|default([]) %}
  589. \t\t\t\t\t\t\t<option value=\"{{ subTypeNode.cabinSubType.id }}\">{{ subTypeNode.cabinSubType.name }}</option>
  590. \t\t\t\t\t\t{% endfor %}
  591. \t\t\t\t\t{% endfor %}
  592. \t\t\t\t</select>
  593. \t\t\t\t<select name=\"select_atmosphere\" class=\"select-atmosphere\"{% if not hasAtmospheres %} hidden{% endif %}>
  594. \t\t\t\t\t<option disabled selected value=\"\">{{ \x27ddd.choose_atmosphere\x27|trans }}</option>
  595. \t\t\t\t</select>
  596. \t\t\t</h2>
  597. \t\t\t<div class=\"ddd-main\">
  598. \t\t\t{# ---------- Étape 1 : choix du type de cabine ---------- #}
  599. \t\t\t<div id=\"step-type\" class=\"ddd-step-panel is-active\">
  600. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  601. \t\t\t\t\t{{ \x27common.loading\x27|trans|default(\x27Chargement...\x27) }}
  602. \t\t\t\t</div>
  603. \t\t\t</div>
  604. \t\t\t{# ---------- Étape 2 : choix de l\x27ambiance (si applicable) ---------- #}
  605. \t\t\t{% if hasAtmospheres %}
  606. \t\t\t<div id=\"step-atmosphere\" class=\"ddd-step-panel\">
  607. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  608. \t\t\t\t\t{{ \x27common.loading\x27|trans|default(\x27Chargement...\x27) }}
  609. \t\t\t\t</div>
  610. \t\t\t</div>
  611. \t\t\t{% endif %}
  612. \t\t\t{# ---------- Étape 3 : choix de la cabine ---------- #}
  613. \t\t\t<div id=\"step-subtype\" class=\"ddd-step-panel\">
  614. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  615. \t\t\t\t\t{{ \x27common.loading\x27|trans|default(\x27Chargement...\x27) }}
  616. \t\t\t\t</div>
  617. \t\t\t</div>
  618. \t\t\t{# ---------- Étape 4 : formulaire de demande de devis ---------- #}
  619. \t\t\t<div id=\"step-quote-form\" class=\"ddd-step-panel\">
  620. \t\t\t\t<div class=\"ddd-step-loader text-sm-md color-grey-text\" aria-live=\"polite\">
  621. \t\t\t\t\t{{ \x27common.loading\x27|trans|default(\x27Chargement...\x27) }}
  622. \t\t\t\t</div>
  623. \t\t\t</div>
  624. \t\t\t{# ---------- Confirmation après envoi du devis ---------- #}
  625. \t\t\t<div id=\"step-quote-summary\" style=\"display: none;\">
  626. \t\t\t\t{% include \x27pages/_includes/ddd/_quote_summary.html.twig\x27 %}
  627. \t\t\t</div>
  628. \t\t\t</div>
  629. \t\t</div>
  630. \t</div>
  631. \t{# <div class=\"validation\" style=\"\">
  632. \t\t<div class=\"floa\">
  633. \t\t\t{{ \x27ddd.pay_in_installments\x27|trans }}
  634. \t\t\t<img src=\"https://www.croisiland.com/_imgs/floa/4X-bleu.svg?1710340929\" alt=\"FLOA\"/>
  635. \t\t</div>
  636. \t\t<div class=\"total-amount\">
  637. \t\t\t<div class=\"final-price amount\">
  638. \t\t\t\t<span></span>{{ \x27common.per_person_short\x27|trans }}
  639. \t\t\t</div>
  640. \t\t\t<button class=\"btn medium style5 disabled\" disabled>{{ \x27ddd.validate_choice\x27|trans }}</button>
  641. \t\t</div>
  642. \t</div> #}
  643. {% endblock %}
  644. ", "./pages/ddd.html.twig", "/home/croisiland-pp/www/f0312421abff37637dabe6f4d57b6afd95d16263/templates/pages/ddd.html.twig");
  645. }
  646. }