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').list|slice(0, 3) %}
  84. {% for news in news_list | sort %}
  85. <div class="news-item">
  86. <div class="news-item-date">
  87. <span>{{ news.vars.publishDate|date('d.m.Y') }}</span>
  88. </div>
  89. <div class="news-item-title">
  90. <h2>{{ news.vars.title }}</h2>
  91. </div>
  92. <div class="news-item-content">
  93. {{ news.vars.lead }}
  94. </div>
  95. <a href="{{ news.vars.url }}" class="button-primary news-item-link" role="button">więcej...</a>
  96. </div>
  97. {% endfor %}
  98. </div>
  99. </section>
  100. <section class="failures-content">
  101. <div class="section-header">
  102. <h1>
  103. <svg aria-label="Ikona awarii">
  104. <use xlink:href="#failures-icon"></use>
  105. </svg>
  106. <span>Awarie i prace planowane</span>
  107. </h1>
  108. </div>
  109. <div class="failures-list">
  110. <div class="filures-header">
  111. <span>Data</span>
  112. <span>Adres incydentu</span>
  113. <span>ostatnia aktualizacja</span>
  114. <span>typ incydentu</span>
  115. <span>
  116. <div class="button-primary failure-filter">
  117. <div class="button-text">
  118. <div v-if="failuresFilter == 'all'">Typ incydentu</div>
  119. <div v-if="failuresFilter == 'turn_off'">Prace planowane</div>
  120. <div v-if="failuresFilter == 'failure'">Awarie</div>
  121. <svg aria-label="Ikona menu">
  122. <use xlink:href="#chevron-down-icon"></use>
  123. </svg>
  124. </div>
  125. <ul>
  126. <li class="active" @click="failuresFilter = 'all'">Wszystkie</li>
  127. <li @click="failuresFilter = 'turn_off'">Prace planowane</li>
  128. <li @click="failuresFilter = 'failure'">Awarie</li>
  129. </ul>
  130. </div>
  131. </span>
  132. </div>
  133. <div class="failures-items" v-if="failuresFilter == 'all'">
  134. {% set items = load_nodes('failures' ,{where:{public:true}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  135. {% for item in items %}
  136. <div class="failure-item">
  137. <div class="failure-item-date">
  138. <svg aria-label="Ikona daty">
  139. <use xlink:href="#calendar-icon"></use>
  140. </svg>
  141. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  142. </div>
  143. <div class="failure-item-address">
  144. <span class="city">{{ item.vars.city }}</span><br>
  145. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  146. </div>
  147. <div class="failure-item-update">
  148. <svg aria-label="Ikona daty">
  149. <use xlink:href="#calendar-icon"></use>
  150. </svg>
  151. {{ item.vars.updateDate|date('d.m.Y H:m') }}
  152. </div>
  153. <div class="failure-item-type">
  154. {{ item.vars.registration_type | trans }}
  155. </div>
  156. <div class="failure-item-link">
  157. <a href="{{ item.vars.url }}" role="button">
  158. <svg aria-label="Ikona czytaj więcej">
  159. <use xlink:href="#arrow-right-icon"></use>
  160. </svg>
  161. </a>
  162. </div>
  163. </div>
  164. {% endfor %}
  165. </div>
  166. <div class="failures-items" v-if="failuresFilter == 'turn_off'">
  167. {% set items = load_nodes('failures' ,{where:{public:true, registration_type:'turn_off'}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  168. {% for item in items %}
  169. <div class="failure-item">
  170. <div class="failure-item-date">
  171. <svg aria-label="Ikona daty">
  172. <use xlink:href="#calendar-icon"></use>
  173. </svg>
  174. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  175. </div>
  176. <div class="failure-item-address">
  177. <span class="city">{{ item.vars.city }}</span><br>
  178. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  179. </div>
  180. <div class="failure-item-update">
  181. <svg aria-label="Ikona daty">
  182. <use xlink:href="#calendar-icon"></use>
  183. </svg>
  184. {{ item.vars.updateDate|date('d.m.Y H:m') }}
  185. </div>
  186. <div class="failure-item-type">
  187. {{ item.vars.registration_type | trans }}
  188. </div>
  189. <div class="failure-item-link">
  190. <a href="{{ item.vars.url }}" role="button">
  191. <svg aria-label="Ikona czytaj więcej">
  192. <use xlink:href="#arrow-right-icon"></use>
  193. </svg>
  194. </a>
  195. </div>
  196. </div>
  197. {% endfor %}
  198. </div>
  199. <div class="failures-items" v-if="failuresFilter == 'failure'">
  200. {% set items = load_nodes('failures' ,{where:{public:true, registration_type:'failure'}, orderBy : {updateDate:'desc'}}).list|slice(0, 2) %}
  201. {% for item in items %}
  202. <div class="failure-item">
  203. <div class="failure-item-date">
  204. <svg aria-label="Ikona daty">
  205. <use xlink:href="#calendar-icon"></use>
  206. </svg>
  207. <span>{{ item.vars.publishDate|date('d.m.Y') }}</span>
  208. </div>
  209. <div class="failure-item-address">
  210. <span class="city">{{ item.vars.city }}</span><br>
  211. <span class="addresses">{{ item.vars.addresses | nl2br }}</span>
  212. </div>
  213. <div class="failure-item-update">
  214. <svg aria-label="Ikona daty">
  215. <use xlink:href="#calendar-icon"></use>
  216. </svg>
  217. {{ item.vars.updateDate|date('d.m.Y H:m') }}
  218. </div>
  219. <div class="failure-item-type">
  220. {{ item.vars.registration_type | trans }}
  221. </div>
  222. <div class="failure-item-link">
  223. <a href="{{ item.vars.url }}" class="failure-item-link" role="button">
  224. <svg aria-label="Ikona czytaj więcej">
  225. <use xlink:href="#arrow-right-icon"></use>
  226. </svg>
  227. </a>
  228. </div>
  229. </div>
  230. {% endfor %}
  231. </div>
  232. <div class="text-center">
  233. <a href="/awarie-i-wylaczenia" class="button-primary" role="button">Zobacz wszystkie</a>
  234. </div>
  235. </div>
  236. </div>
  237. </section>
  238. {% endblock %}