feat: Фаза 3 - Добавить индикаторы качества фото на фронтенд

Реализовано:
- Создан набор переиспользуемых шаблонных тегов для отображения качества
  - quality_badge_mini: маленький значок в углу фото
  - quality_badge_full: полный индикатор с размером фото
  - quality_indicator: включаемый тег с позиционированием
  - quality_icon_only: только символ качества для списков

- Добавлены шаблонные теги в:
  - product_detail.html: индикатор в углу миниатюр + в модальной галерее
  - product_list.html: иконка качества в таблице товаров
  - productkit_detail.html: индикатор в углу фото комплектов

- Создан CSS с ненавязчивыми стилями:
  - Полупрозрачные индикаторы (opacity: 0.8)
  - Компактные размеры (не отвлекает от фото)
  - Отзывчивость на мобильных устройствах
  - Анимации при наведении

- Обновлена админ панель:
  - Добавлены 3 новых экшена для поиска товаров по качеству
  - show_poor_quality_photos: фильтр на товары требующие обновления
  - show_excellent_quality_photos: фильтр на товары с хорошим качеством
  - show_all_quality_levels: статистика распределения качества

Интеграция в базу template tags:
- myproject/products/templatetags/quality_tags.py (новый файл)
- myproject/static/css/quality_indicator.css (новый файл)
- myproject/products/templates/products/includes/quality_badge.html (новый файл)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-02 15:13:49 +03:00
parent 622e17a775
commit 2d344ef53c
8 changed files with 845 additions and 40 deletions

View File

@@ -0,0 +1,17 @@
{% if show %}
<div class="quality-indicator position-absolute top-0 end-0 m-2"
title="{{ tooltip }}"
data-bs-toggle="tooltip"
data-bs-placement="left">
{% if has_warning %}
<span class="badge bg-danger fs-5">⚠️</span>
{% else %}
<span class="badge bg-{{ color }} fs-6" style="opacity: 0.9;">
{{ symbol }}
</span>
{% endif %}
{% if size_text %}
<small class="d-block text-muted mt-1" style="font-size: 0.7rem;">{{ size_text }}</small>
{% endif %}
</div>
{% endif %}