union_auto_test/core/templates/reviews.html

180 lines
9.2 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends 'base.html' %}
{% load static %}
{% load filters %}
{% load thumbnail %}
{% block content %}
{% include 'includes/breadcrumbs_dark.html' %}
<section class="sect pt-2">
<div class="container">
<div
class="d-flex align-items-start align-items-sm-center justify-content-between flex-wrap flex-column flex-sm-row gap-4">
<h1 class="h1 mb-0">Отзывы наших клиентов</h1>
</div>
<div class="justify-content-between sortW d-flex reviewsContent flex-wrap">
<div class="d-flex align-items-center gap-2 gap-lg-4 flex-column flex-lg-row sortSmW">
<form method="GET">
<input type="hidden" name="sort" value="{{ sort_query }}">
<select name="filter" id="istochnik" class="formSelect" onchange="this.form.submit()">
<option value="">
Источник
</option>
{% if yandex_reviews_count > 0 %}
<option value="1" {% if filter_query == '1' %}selected{% endif %}>
Яндекс
</option>
{% endif %}
{% if two_gis_reviews_count > 0 %}
<option value="2" {% if filter_query == '2' %}selected{% endif %}>
2Гис
</option>
{% endif %}
{% if vlru_reviews_count > 0 %}
<option value="3" {% if filter_query == '3' %}selected{% endif %}>
Vl
</option>
{% endif %}
</select>
</form>
<form method="GET">
{% if filter_query %}
<input type="hidden" name="filter" value="{{ filter_query }}">
{% endif %}
<select name="sort" id="sort" class="formSelect d-block d-lg-none" onchange="this.form.submit()">
<option value="-date" {% if sort_query == '-date' %}selected{% endif %}>
Сначала новые
</option>
<option value="date" {% if sort_query == 'date' %}selected{% endif %}>
ачала старые
</option>
</select>
</form>
<span class="h4 color-gray5 text-nowrap d-none d-lg-block">
{% if filter_query == '1' %}
{{ yandex_reviews_count|declension_of_reviews }}
{% elif filter_query == '2' %}
{{ two_gis_reviews_count|declension_of_reviews }}
{% elif filter_query == '3' %}
{{ vlru_reviews_count|declension_of_reviews }}
{% else %}
{{ all_reviews_count|declension_of_reviews }}
{% endif %}
</span>
</div>
<div class="d-none d-lg-flex align-items-center gap-4">
<span class="h4">Сортировка:</span>
{% if sort_query == '-date' %}
<a class="sortLink active d-flex gap-2 align-items-center" href="{% url 'core:reviews' %}?sort=date{% if filter_query%}&filter={{ filter_query }}{% endif %}">
<span class="h4 mb-0">По дате</span>
<svg>
<use xlink:href="{% static 'img/icons/icons.svg' %}?v=1#sort"></use>
</svg>
</a>
{% else %}
<a class="sortLink d-flex gap-2 align-items-center" href="{% url 'core:reviews' %}?sort=-date{% if filter_query%}&filter={{ filter_query }}{% endif %}">
<span class="h4 mb-0">По дате</span>
<svg class="icon-sort-reverse">
<use xlink:href="{% static 'img/icons/icons.svg' %}?v=1#sort"></use>
</svg>
</a>
{% endif %}
</div>
</div>
<div class="row mt-3 reviewsPage">
{% for review in reviews %}
<div class="col-md-6 col-xl-4 mb-3 mb-lg-4">
<!-- Отзыв с кнопкой подробнее, когда выпадает текст ниже -->
<div class="reviewsCard cardText">
<div class="d-flex justify-content-between flex-wrap gap-2 mb-3">
<div class="d-flex align-items-center gap-1">
<img src="{% static 'img/icons/avatar.svg' %}?v=1" alt="person" class="reviewsCardPersonIcon">
<div class="d-block">
<span class="fw-medium d-block text--lg">{{ review.name }}</span>
<span class="fw-medium d-block text--15 color-gray5 ">{{ review.get_date }}</span>
</div>
</div>
{% if review.source == '1' %}
<img src="{% static 'img/admin/reviews/logo-1.png' %}?v=1" alt="logo" class="reviewsCardLogo d-none d-sm-block">
{% elif review.source == '2' %}
<img src="{% static 'img/admin/reviews/2gis.svg' %}?v=1" alt="logo" class="reviewsCardLogo d-none d-sm-block">
{% else %}
<img src="{% static 'img/admin/reviews/vl.svg' %}?v=1" alt="logo" class="reviewsCardLogo d-none d-sm-block">
{% endif %}
</div>
<div class="content content--hidden my-1">
{{ review.text|linebreaks }}
</div>
{% if review.source == '1' %}
<img src="{% static 'img/admin/reviews/logo-1.png' %}?v=1" alt="logo" class="reviewsCardLogo d-block d-sm-none my-4">
{% elif review.source == '2' %}
<img src="{% static 'img/admin/reviews/2gis.svg' %}?v=1" alt="logo" class="reviewsCardLogo d-block d-sm-none my-4">
{% else %}
<img src="{% static 'img/admin/reviews/vl.svg' %}?v=1" alt="logo" class="reviewsCardLogo d-block d-sm-none my-4">
{% endif %}
<button class="button button--white mt-3 reviewsCardBtn" data-src="#modalReviews"
data-bs-name="{{ review.name }}"
data-bs-date="{{ review.get_date }}"
data-bs-id="{{ review.id }}"
data-bs-text="{{ review.text|linebreaks }}"
{% if review.screen %}
data-bs-screen="{{ review.screen.url }}"
{% else %}
data-bs-screen="#"
{% endif %}
{% if review.source == '1' %}
data-bs-source="{% static 'img/admin/reviews/logo-1.png' %}?v=1"
{% elif review.source == '2' %}
data-bs-source="{% static 'img/admin/reviews/2gis.svg' %}?v=1"
{% else %}
data-bs-source="{% static 'img/admin/reviews/vl.svg' %}?v=1"
{% endif %}
data-fancybox>Подробнее</button>
</div><!-- /reviewsCard -->
</div>
{% endfor %}
</div>
{% include 'includes/pagination.html' %}
</div>
</section>
{% include 'includes/form.html' with mparam="mb-5" %}
{% include 'includes/about.html' %}
{% endblock %}
{% block js %}
<script>
document.addEventListener('DOMContentLoaded', function() {
const reviewModal= document.getElementById('modalReviews')
if (reviewModal) {
reviewButtons = document.querySelectorAll('.reviewsCardBtn')
reviewButtons.forEach(button => {
button.addEventListener('click', function(event) {
const review_id = button.getAttribute('data-bs-id')
const review_source = button.getAttribute('data-bs-source')
const review_screen = button.getAttribute('data-bs-screen')
const review_date = button.getAttribute('data-bs-date')
const review_name = button.getAttribute('data-bs-name')
const review_text = button.getAttribute('data-bs-text')
const reviewModalName = reviewModal.querySelector('#reviewName')
const reviewModalDate = reviewModal.querySelector('#reviewDate')
const reviewModalScreen = reviewModal.querySelector('#reviewScreen')
const reviewModalText = reviewModal.querySelector('#reviewText')
const reviewModalSource = reviewModal.querySelector('#reviewSource')
const reviewModalSourceSecond = reviewModal.querySelector('#reviewSourceSecond')
reviewModalName.textContent = review_name
reviewModalDate.textContent = review_date
reviewModalText.innerHTML = review_text
reviewModalScreen.src = review_screen
reviewModalSource.src = review_source
reviewModalSourceSecond.src = review_source
});
})}
});
</script>
{% endblock %}