{% extends getThemeDir('base.html.twig') %}
{% block seo %}
{{ render_seo('app_shop_site_products', null, app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
{% endblock %}
{% block body %}
{% set data = {
payload: paginator,
filters: filters,
allParameters: app.request.query.all|merge(app.request.attributes.get('_route_params')),
currentPage: currentPage,
size: parameters.size,
request: app.request,
postType : app.request.attributes.get('postType'),
requestPath: 'Admin:GlobalSettings:Inspection',
pageNumber : app.request.query.get('page'),
} %}
{% set currentPage = data.currentPage %}
{% set currentPageParameters = data.currentPageParameters | default({page: "1"}) %}
{% set size = data.size %}
<div class="flex flex-col lg:flex-row gap-4 mt-5 container">
{% if filters is defined %}
<form action="{{ path(currentPage, currentPageParameters ) }}"
class="lg:sticky top-1 h-fit lg:w-1/4 hidden lg:flex flex-col gap-y-4 items-center shadow rounded-lg py-4 dark:bg-gray-800 bg-white">
<div class="flex items-center justify-between w-full px-2 xl:px-4">
<span class="flex items-center gap-x-1">
<p class="font-DanaMedium text-gray-700 dark:text-gray-200 text-lg">فیلترها
</p>
</span>
<a href="{{ path('app_shop_site_products') }}"
class="text-blue-500 dark:text-blue-400 text-sm cursor-pointer"> حذف فیلترها</a>
</div>
<div class="w-full justify-between flex items-center gap-x-3 px-2 xl:px-4 py-4">
{% for form in filters %}
{% if form.type == "text" %}
<input type="text" name="{{ form.name }}"
class="block w-full py-1.5 px-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 transition-all col-span-6
text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400 h-11"
value="{{ form.value | default }}"
placeholder="{{ form.label }}">
{% endif %}
{% endfor %}
</div>
<div class="w-full justify-between flex items-center gap-x-3 px-2 xl:px-4 py-4">
<button type="submit"
class="w-full mt-4 flex items-center gap-x-1 justify-center bg-blue-500 text-white hover:bg-blue-600 transition-all rounded-lg shadow py-2">
اعمال
</button>
</div>
</form>
{% endif %}
<div class="lg:w-3/4">
<div class="grid grid-cols-1 xxs:grid-cols-2 xs:grid-cols-2 sm:grid-cols-2 xl:grid-cols-3 gap-3 xs:gap-2 sm:gap-4">
{% if data.payload is not iterable %}
{% set results = data.payload.results %}
{% else %}
{% set results = data.payload %}
{% endif %}
{% for id,item in results %}
{% include getThemeDir('modules/cart-product.html.twig') with {'product' : item} %}
{% else %}
موردی یافت نشد
{% endfor %}
</div>
{% if data.pagination is not defined or data.pagination == true %}
{% set paginator = data.payload %}
{% set currentPage = data.currentPage %}
{% set params = data.allParameters | default({page: "1"}) %}
{% set size = data.size %}
{% if paginator.getNumResults > 0 %}
<div class="mt-10 w-full flex items-center justify-center">
<input type="hidden" id="query-status" value="{{ data.request.get('status') }}"/>
<ul class="flex items-center gap-x-3 child:flex child:items-center child:justify-center child:w-8 child:h-8 child:cursor-pointer child:shadow child:rounded-lg child:transition-all child:duration-300">
{% for i in paginator.start..paginator.end %}
{% if i == paginator.currentPage %}
<li class="text-white bg-blue-500">
<a href="#">
{{ i }}
</a>
</li>
{% else %}
<li class="bg-white dark:bg-gray-800 hover:bg-blue-500 dark:hover:bg-blue-500 hover:text-white">
<a href="{{ path(currentPage, params|merge({"page": i })) }}">
{{ i }}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
{% endif %}
</div>
</div>
{% endblock %}