templates/home/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}
  3. {{ sett('home_meta_title') }}
  4. {% endblock %}
  5. {% block meta_description %}
  6. {{ sett('home_meta_description') }}
  7. {% endblock %}
  8. {% block meta_keywords %}
  9. {{ sett('home_meta_keywords')}}
  10. {% endblock %}
  11. {% block body_class %}home
  12. {% endblock %}
  13. {% block before_content %}
  14. {% set slider = load_nodes('slider',{where:{public:true}}).list %}
  15. {% if slider|length %}
  16. <section class="hero-section">
  17. <div id="hero-slider">
  18. <div class="simple-slider">
  19. {% for slide in slider %}
  20. {% if slide.vars.photo %}
  21. <div class="slide slide-content">
  22. <div class="slide-title" aria-label="Tytuł slajdu {{ loop.index }}" role="heading" aria-level="2">
  23. <span>{{ slide.vars.title | raw }}</span>
  24. </div>
  25. <img src="{{ asset(slide.vars.photo.path) }}" alt="Slajd {{ loop.index }}" class="slide-img">
  26. </div>
  27. {% endif %}
  28. {% endfor %}
  29. {% if slider|length > 1 %}
  30. <div class="slider-nav">
  31. <button class="slider-prev" aria-label="Poprzedni slajd"></button>
  32. <button class="slider-next" aria-label="Następny slajd"></button>
  33. </div>
  34. {% endif %}
  35. </div>
  36. </div>
  37. </section>
  38. <div class="container">
  39. <div class="container">
  40. <div class="slider-boxes">
  41. <a href="{{ sett('box1_url')}}">
  42. <div class="box ">
  43. <svg aria-label="Ikona cenników">
  44. <use xlink:href="#prices-icon"></use>
  45. </svg>
  46. <span>{{ sett('box1_title')}}</span>
  47. </div>
  48. </a>
  49. <a href="{{ sett('box2_url')}}">
  50. <div class="box">
  51. <svg aria-label="Ikona inwestycji">
  52. <use xlink:href="#investments-icon"></use>
  53. </svg>
  54. <span>{{ sett('box2_title')}}</span>
  55. </div>
  56. </a>
  57. <a href="{{ sett('box3_url')}}">
  58. <div class="box">
  59. <svg aria-label="Ikona awarii">
  60. <use xlink:href="#failures-icon"></use>
  61. </svg>
  62. <span>{{ sett('box3_title')}}</span>
  63. </div>
  64. </a>
  65. </div>
  66. </div>
  67. </div>
  68. {% endif %}
  69. {% endblock %}
  70. {% block content %}
  71. <div id="content-start" class="homepage">
  72. <div class="container">
  73. <section class="news-section">
  74. <div class="section-header">
  75. <h1>
  76. <svg aria-label="Ikona aktualności">
  77. <use xlink:href="#news-icon"></use>
  78. </svg>
  79. <span>Aktualności</span>
  80. </h1>
  81. </div>
  82. <div class="news-list">
  83. {% set news_list = load_nodes('news', {
  84. max: 3,
  85. orderBy: { publishDate: 'desc' },
  86. where: { public : true }
  87. }).list %}
  88. {% for news in news_list %}
  89. <div class="news-item">
  90. <div class="news-item-date">
  91. <span>{{ news.vars.publishDate|date('d.m.Y') }}</span>
  92. </div>
  93. <div class="news-item-title">
  94. <h2>{{ news.vars.title }}</h2>
  95. </div>
  96. <div class="news-item-content">
  97. {{ news.vars.lead }}
  98. </div>
  99. <a href="{{ news.vars.url }}" class="button-primary news-item-link" role="button">więcej...</a>
  100. </div>
  101. {% endfor %}
  102. </div>
  103. </section>
  104. <section class="failures-content">
  105. <div class="section-header">
  106. <h1>
  107. <svg aria-label="Ikona awarii">
  108. <use xlink:href="#failures-icon"></use>
  109. </svg>
  110. <span>Awarie i prace planowane</span>
  111. </h1>
  112. </div>
  113. <div class="failures-list">
  114. <div class="filures-header">
  115. <span>Data</span>
  116. <span>Incydent</span>
  117. <span>typ incydentu</span>
  118. <span>
  119. <div class="button-primary failure-filter">
  120. <div class="button-text">
  121. <div v-if="failuresFilter == 'all'">Typ incydentu</div>
  122. <div v-if="failuresFilter == 'turn_off'">Prace planowane</div>
  123. <div v-if="failuresFilter == 'failure'">Awarie</div>
  124. <svg aria-label="Ikona menu">
  125. <use xlink:href="#chevron-down-icon"></use>
  126. </svg>
  127. </div>
  128. <ul>
  129. <li class="active" @click="failuresFilter = 'all'">Wszystkie</li>
  130. <li @click="failuresFilter = 'turn_off'">Prace planowane</li>
  131. <li @click="failuresFilter = 'failure'">Awarie</li>
  132. </ul>
  133. </div>
  134. </span>
  135. </div>
  136. <div class="failures-items" v-if="failuresFilter == 'all'">
  137. {% set items = load_nodes('failures' ,{where:{public:true}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  138. {% for item in items %}
  139. <div class="failure-item">
  140. <div class="failure-item-date">
  141. <svg aria-label="Ikona daty">
  142. <use xlink:href="#calendar-icon"></use>
  143. </svg>
  144. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  145. </div>
  146. <div class="failure-item-address">
  147. <span class="city">{{ item.vars.city|join(', ') }}</span><br>
  148. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  149. </div>
  150. <div class="failure-item-type">
  151. {{ item.vars.registration_type | trans }}
  152. </div>
  153. <div class="failure-item-link">
  154. <a href="{{ item.vars.url }}" role="button">
  155. <svg aria-label="Ikona czytaj więcej">
  156. <use xlink:href="#arrow-right-icon"></use>
  157. </svg>
  158. </a>
  159. </div>
  160. </div>
  161. {% endfor %}
  162. </div>
  163. <div class="failures-items" v-if="failuresFilter == 'turn_off'">
  164. {% set items = load_nodes('failures' ,{where:{public:true, registration_type:'turn_off'}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  165. {% for item in items %}
  166. <div class="failure-item">
  167. <div class="failure-item-date">
  168. <svg aria-label="Ikona daty">
  169. <use xlink:href="#calendar-icon"></use>
  170. </svg>
  171. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  172. </div>
  173. <div class="failure-item-address">
  174. <span class="city">{{ item.vars.city|join(', ') }}</span><br>
  175. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  176. </div>
  177. <div class="failure-item-type">
  178. {{ item.vars.registration_type | trans }}
  179. </div>
  180. <div class="failure-item-link">
  181. <a href="{{ item.vars.url }}" role="button">
  182. <svg aria-label="Ikona czytaj więcej">
  183. <use xlink:href="#arrow-right-icon"></use>
  184. </svg>
  185. </a>
  186. </div>
  187. </div>
  188. {% endfor %}
  189. </div>
  190. <div class="failures-items" v-if="failuresFilter == 'failure'">
  191. {% set items = load_nodes('failures' ,{where:{public:true, registration_type:'failure'}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  192. {% for item in items %}
  193. <div class="failure-item">
  194. <div class="failure-item-date">
  195. <svg aria-label="Ikona daty">
  196. <use xlink:href="#calendar-icon"></use>
  197. </svg>
  198. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  199. </div>
  200. <div class="failure-item-address">
  201. <span class="city">{{ item.vars.city|join(', ') }}</span><br>
  202. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  203. </div>
  204. <div class="failure-item-type">
  205. {{ item.vars.registration_type | trans }}
  206. </div>
  207. <div class="failure-item-link">
  208. <a href="{{ item.vars.url }}" class="failure-item-link" role="button">
  209. <svg aria-label="Ikona czytaj więcej">
  210. <use xlink:href="#arrow-right-icon"></use>
  211. </svg>
  212. </a>
  213. </div>
  214. </div>
  215. {% endfor %}
  216. </div>
  217. <div class="text-center">
  218. <a href="/awarie-i-wylaczenia" class="button-primary" role="button">Zobacz wszystkie</a>
  219. </div>
  220. </div>
  221. </div>
  222. </section>
  223. {% endblock %}