Commit Graph

11 Commits

Author SHA1 Message Date
6bbd615a77 Refactor: remove unused code from date carousel
- Removed unused calculateDateOffset() method (19 lines)
- Removed unused loadSelectedDate() method that only logged
- Removed unused isCenter property from day objects
- Simplified localStorage save/load (removed offset parameter)
- Removed complex JSON parsing logic, now stores date string directly
- Code is cleaner and easier to maintain

Total: removed 82 lines of unused code

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 22:19:42 +03:00
5198502fa3 Fix date carousel position persistence to keep selected date in place
- Selected date now stays at its clicked position instead of jumping to center
- Fixed timezone issue in localStorage causing dates to shift by one day
- Carousel position is preserved across page reloads
- Simplified date selection logic by removing complex offset calculations
- Added updateSelectedState() method to update selection without re-rendering

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 21:59:13 +03:00
2a431e32b1 Fix button selector to properly find 'Today' button in the filter container 2025-11-07 21:00:10 +03:00
8e1b6fc157 Fix 'Today' button functionality to properly set date filters and submit form 2025-11-07 20:54:04 +03:00
efeb396204 Add 'Today' button next to date filter label 2025-11-07 20:37:17 +03:00
ed2647e45c Fix date selection position preservation in calendar carousel 2025-11-07 20:31:19 +03:00
b9665e8761 Исправлена проблема с центрированием выбранной даты: теперь выбранная дата остается в центре при клике, включая даты за пределами видимой области 2025-11-07 20:06:21 +03:00
7a725f485a Улучшен календарный фильтр дат: динамическое количество дней, отображение месяца и сохранение позиции при выборе 2025-11-07 20:03:06 +03:00
a271bfa809 feat: Улучшен календарный фильтр заказов - расширен до 19 дней и обновлён дизайн
- Расширен календарь с 9 до 19 дней (±9 от центра)
- Календарь теперь занимает всю ширину страницы
- Исправлены метки "Вчера/Сегодня/Завтра" - теперь привязаны к реальным датам, а не к позициям в ленте
- Добавлена автоматическая отправка формы при выборе даты
- Обновлён дизайн:
  * Сегодняшний день выделен светло-голубым цветом (более мягкий оттенок)
  * Выбранная дата обведена красной рамкой (как на настенном календаре)
- Добавлен блок extra_css в base.html для подключения дополнительных стилей

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 18:55:50 +03:00
1f0821efbe feat: Реализована календарная лента из 9 дней для фильтрации заказов
Основные изменения:

**Компонент date_range_filter.html:**
- Заменены простые кнопки на горизонтальную ленту из 9 дней
- Добавлены стрелки навигации влево/вправо
- Скрытые поля дат для работы с django-filter

**Стили date_filter.css:**
- Дизайн календарной ленты с карточками дней
- Выделение сегодняшнего дня синим цветом
- Выделение выбранной даты зеленым цветом
- Hover-эффекты и анимации
- Адаптивность для мобильных устройств
- Стили для стрелок навигации

**Логика date_filter.js:**
- Класс DateCarousel для управления лентой
- Генерация 9 дней (±4 от центральной даты)
- Определение "Вчера/Сегодня/Завтра" для центральных 3 кнопок
- Отображение числа (01-31) и дня недели (ПН-ВС)
- Навигация стрелками (сдвиг на 1 день)
- Клик по дню устанавливает дату в оба поля фильтра
- Визуальная индикация выбранной даты

**Формат каждой кнопки:**
┌─────────┐
│ Сегодня │  ← Текст (если вчера/сегодня/завтра)
│   07    │  ← Число месяца
│   ЧТ    │  ← День недели
└─────────┘

**Поведение:**
- По умолчанию: сегодня в центре (5-я кнопка)
- Сегодняшний день выделен синим
- Клик по дню фильтрует заказы за эту конкретную дату
- Стрелки сдвигают весь диапазон на 1 день вперед/назад

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 18:33:48 +03:00
d37a5df482 feat: Добавлена фильтрация заказов с django-filter и календарный компонент
Основные изменения:
- Установлен и настроен django-filter==24.3
- Создан OrderFilter с фильтрами по дате доставки, статусу, типу, оплате и поиску
- Реализован переиспользуемый компонент календарного фильтра date_range_filter.html
- Добавлены быстрые кнопки выбора дат (Сегодня, Завтра, Неделя)
- Создан templatetag param_replace для сохранения фильтров при пагинации
- Обновлен order_list view для использования django-filter
- Полностью переработан шаблон order_list.html с интеграцией фильтров
- Добавлены стили (date_filter.css) и логика (date_filter.js) для календаря

Структура новых файлов:
- orders/filters.py - FilterSet для заказов
- orders/templatetags/filter_tags.py - кастомные теги для фильтров
- orders/templates/orders/components/date_range_filter.html - компонент календаря
- orders/static/orders/css/date_filter.css - стили
- orders/static/orders/js/date_filter.js - JavaScript логика
- requirements.txt - зависимости проекта

Преимущества:
- Чистая архитектура фильтрации
- Автоматическое сохранение параметров при навигации
- Переиспользуемый календарный компонент
- Улучшенный UX с быстрыми фильтрами
- Готовность к масштабированию на другие модели

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 18:22:57 +03:00