{% extends "front/layouts/default.twig" %}
{% block content %}
<div class="bg-nav space-under-nav">
<div class="container">
<div class="row justify-content-center">
<div class="col-12">
<div class="row align-items-center filter__list uppercase mt-lg-3">
<div class="col-auto">
<a href="{{ path('front-page', {url: get_page_url(app.request.locale, constant('App\\Config\\Pages::HOMEPAGE'))}) }}" class="btn filter__button back-btn text-nowrap"><span
class="fz-20 text-secondary">
< </span>{{ 'USER_ZONE.BLOG.BUTTON_FIRST'|trans() }}</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-center">
<div class="col-12 mt-5">
<div class="row">
<div class="content-wrapper col-lg-8">
<div class="row header">
<h1>{{ 'USER_ZONE.BLOG.TEXT_FIRST'|trans() }}</h1>
</div>
</div>
</div>
<div class="row page-nav mt-4">
<div class="col-12">
<div class="row">
<div class="col-12 col-lg-12">
<div class=" py-2 border-2 border-top border-bottom border-nonary">
<div class="row justify-content-start fz-14 bold text-octonary align-items-center filter-checkbox">
<div class="mx-2 fmx-lg-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<a href="#" class="text-octonary filter_blog" data-filter-key="category" data-filter="all">{{ 'USER_ZONE.BLOG.LIST_ITEM_1'|trans() }}</a>
</div>
<div class="mx-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<div class="row custom-select py-lg-0">
<select name="blog-select" id="blog-select" class="filter-industry">
<option value="" selected>{{ 'USER_ZONE.BLOG.ALL_INDUSTRY'|trans }}</option>
{% for industry in industrys %}
<option value="{{ industry.name|default('') != '' ? industry.name|default('') : industry.translation['en']['nameCategory']|default('') }}" {% if app.request.attributes.get('originalRequest').query.get('industry') == (industry.name|default('') != '' ? industry.name|default('') : industry.translation['en']['nameCategory']|default('')) %}selected{% endif %}>
{% if app.request.locale == "pl" %}
{{ industry.name|default('') != '' ? industry.name|default('') : industry.translation['en']['nameCategory']|default('') }}
{% else %}
{{ industry.translation['en']['nameCategory']|default('') != '' ? industry.translation['en']['nameCategory']|default('') : industry.name|default('') }}
{% endif %}
</option>
{% endfor %}
</select>
<label for="blog-select" class="custom-arrow custom-arrow-black"></label>
</div>
</div>
<div class="mx-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<a href="#" class="text-octonary filter_blog" data-filter-key="category" data-filter="general">{{ 'USER_ZONE.BLOG.LIST_ITEM_5'|trans() }}</a>
</div>
<div class="mx-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<a href="#" class="text-octonary filter_blog" data-filter-key="category" data-filter="advice">{{ 'USER_ZONE.BLOG.LIST_ITEM_2'|trans() }}</a>
</div>
<div class="mx-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<a href="#" class="text-octonary filter_blog" data-filter-key="category" data-filer-key="category"data-filter="job">{{ 'USER_ZONE.BLOG.LIST_ITEM_3'|trans() }}</a>
</div>
<div class="mx-2 mt-3 mt-lg-0 col-5 col-lg-auto">
<a href="#" class="text-octonary filter_blog" data-filter-key="category" data-filter="benefits">{{ 'USER_ZONE.BLOG.LIST_ITEM_4'|trans() }}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row py-5 border-bottom border-nonary">
{% for blog in blogs %}
<div class="col-lg-4 col-12 col-sm-6">
<div class="blog-card">
<div class="blog-card-content">
<div class="row">
<div class="col-12">
{% for photo in blog.photo %}
<a href="{{ path('front-page', {url: get_page_only_url(app.request.locale, blog.id )}) }}">
<img src="{{asset('blog/' ~ photo.fileName ~ '.' ~ photo.extension)|imagine_filter('blog_img') }}" alt="">
</a>
{% endfor %}
</div>
<div class="col-12 mt-3">
<span class="blog-card-date">{{blog.createdAt|date('d.m.Y')}} | {{ blog.fullName }}</span>
</div>
<div class="col-12 mt-2">
<h2 class="blog-card-h2 mb-0">
<a href="{{ path('front-page', {url: get_page_only_url(app.request.locale, blog.id )}) }}">
<p class="m-0 p-0" style="
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;">
{% if app.request.locale == "pl" %}
{{blog.title}}
{% endif %}
{% if app.request.locale == "en" %}
{{blog.translation['title'] ?? ''}}
{% endif %}
</p>
</a>
</h2>
</div>
<div class="col-12">
<p style="
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;">
{% if app.request.locale == "pl" %}
{{ blog.passion }}
{% endif %}
{% if app.request.locale == "en" %}
{{ blog.translation['passion'] ?? '' }}
{% endif %}
</p>
</div>
</div>
</div>
<div class="col-12 mt-4 text-center">
<a href="{{ path('front-page', {url: get_page_only_url(app.request.locale, blog.id)}) }}" class="btn btn-outline-info btn-md">{{ 'USER_ZONE.BLOG.BUTTON_READ'|trans() }}</a>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="col-auto mb-5 text-center pagination-wrapper">
<a href="#" class="custom-arrow pagination pagination-back button-pagination" data-filter-key="page" data-filter-value="{{ (thisPage) - 1 > 1 ? (thisPage) - 1 : 1 }}"></a>
<div>
<label class="pagination-label" for="quantity">{{ thisPage }} {{ 'USER_ZONE.PAGINATION.OUT_OF'|trans }} {{ maxPages }}</label>
</div>
<a href="#" class="custom-arrow pagination pagination-next button-pagination" data-filter-key="page" data-filter-value="{{ (thisPage) + 1 <= maxPages ? (thisPage) + 1 : thisPage }}"></a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block script %}
<script>
let filters = [];
let filtersString = '';
let page = '';
let searchParams = new URLSearchParams(window.location.search);
let industry = searchParams.get('industry');
let category = searchParams.get('category');
$(document).on('click','.filter_blog',function(){
$('.checked-filter').removeClass('checked-filter');
$(this).addClass('checked-filter');
createFiltersString();
let url = buildUrl();
window.history.pushState({path: url}, '', url);
$.get(url, function (data) {
location.reload();
})
});
function createFiltersString() {
filtersString = '';
page = '';
$('.filter-checkbox .checked-filter').each(function() {
if($('.filter-industry').val() != ''){
if (filtersString === '') {
filtersString += '?';
filtersString += 'industry' + '=' + $('.filter-industry').val();
} else {
filtersString += '&';
filtersString += 'industry' + '=' + $('.filter-industry').val();
}
}
if (filtersString === '') {
filtersString += '?';
filtersString += $(this).data('filter-key') + '=' + $(this).data('filter');
} else {
filtersString += '&';
filtersString += $(this).data('filter-key') + '=' + $(this).data('filter');
}
if($(this).data('filter') == "all"){
filtersString = '';
}else{
page += '&page=1';
}
// }
});
}
function createPage(button) {
filtersString = '';
page = '';
if(industry){
filtersString = '?industry='+industry;
if(category)
{
filtersString += '&category='+category;
}
page += '&';
page += $(button).data('filter-key') + '=' + $(button).data('filter-value');
}else{
page += '?';
page += $(button).data('filter-key') + '=' + $(button).data('filter-value');
}
}
createFiltersString();
$(document).on('change', '.filter-industry', function (e) {
let url = buildUrl();
window.history.pushState({path: url}, '', url);
if (filtersString === '') {
url += '?industry=' + $('.filter-industry').val() + '&' + 'page=1' ;
} else {
url += '&industry=' + $('.filter-industry').val() + '&' + 'page=1' ;
}
if($('.filter-industry').val() == ""){
url = '';
}
window.history.pushState({path: url}, '', url);
$.get(url, function (data) {
location.reload();
})
});
$(document).on('click', '.button-pagination', function (e) {
createPage($(this));
let url = buildUrl();
window.history.pushState({path: url}, '', url);
location.reload();
return false;
});
function buildUrl() {
let newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname + filtersString + page;
return newUrl;
}
</script>
{% endblock %}