Commit Graph

377 Commits

Author SHA1 Message Date
root c321353e8f feat(orders): show SMS delivery confirmation and 2nd-SMS skip reason 2026-08-06 13:55:42 +00:00
root fefb8065be perf(dashboard): lazy load order details only when needed; skip fetch on non-order tabs 2026-08-06 13:40:20 +00:00
root 44d3f0f16d fix(client): compact order composition trigger 2026-08-06 12:10:21 +00:00
root 82d6f4f077 feat(orders): show client push subscription and delivery log 2026-08-06 12:06:11 +00:00
root ad7b92503c fix(push): remove monochrome Android badge icon 2026-08-06 11:28:53 +00:00
root 34b01758ef fix(ui): use СуперСам and normal order composition heading 2026-08-06 11:13:40 +00:00
root 74de57f3fc fix(ui): use СуперСам and normal order composition heading 2026-08-06 11:12:47 +00:00
root 9be5f81ffe fix(ui): localize SuperSam name and normalize order headings 2026-08-06 11:11:56 +00:00
root 9e4ce20c96 fix(push): use SuperSam application icon in notifications 2026-08-06 10:15:42 +00:00
root 4768864c08 fix(push): use Supabase database host for sender 2026-08-06 10:07:37 +00:00
root 1922778e0f feat(push): prepare client subscription test contour 2026-08-06 08:56:12 +00:00
root 82eefb2225 feat(push): PushSubscriptionBanner on delivery consent page 2026-08-06 08:30:07 +00:00
root 98ebc935c2 fix(pwa): force SW bump for tab visibility on mobile 2026-08-06 08:12:56 +00:00
root 8faa839056 chore(pwa): bump cache version 2026-08-06 08:03:11 +00:00
root 1f8a8ea2c4 feat(orders): tabbed navigation for logistics blocks (Все + per-block tabs) 2026-08-06 08:03:11 +00:00
root 811e2a1254 chore(pwa): bump cache version 2026-08-06 07:51:32 +00:00
root 3a402f7f74 fix(orders): status summary cards with borders + larger text 2026-08-06 07:51:32 +00:00
root 4459d03932 chore(pwa): bump cache version 2026-08-06 07:48:40 +00:00
root db24e8929c feat(orders): exhaustive timeline + status summary + specific field_change labels 2026-08-06 07:48:40 +00:00
root b1a09ae71a chore(pwa): bump cache version 2026-08-06 07:14:46 +00:00
root 464cc57eb9 feat(orders): progress stepper + fix field_change label 2026-08-06 07:14:46 +00:00
root 15b69102b0 chore(pwa): bump cache version 2026-08-06 07:11:02 +00:00
root 225e961907 fix(logistics): shorten column titles, fit headers without truncation 2026-08-06 07:11:02 +00:00
root 4bf95064bd chore(pwa): bump cache version 2026-08-06 07:06:41 +00:00
root 349a5c5acf fix(logistics): header font size matches table body, bold weight 2026-08-06 07:06:41 +00:00
root db261f96db chore(pwa): bump cache version 2026-08-06 07:01:15 +00:00
root 63a59d42bb feat(logistics): sort every table column 2026-08-06 07:01:15 +00:00
root 24e708901a chore(pwa): bump cache version 2026-08-06 06:52:48 +00:00
root 60d6033085 feat(logistics): improve order workflow and aging 2026-08-06 06:52:32 +00:00
root d11ccd4f76 fix: SMS status — show real delivery state from log, expandable SMS text in history 2026-07-22 14:10:56 +00:00
root a5817110c9 fix: SMS campaign — compact cards + pagination 20/page for logs & manual groups 2026-07-22 12:33:38 +00:00
root d8930925be fix: SMS city profiles — жёсткие цвета вместо CSS variables
- Карточки: #e8f0ec (светло-зелёный) / #0d1a16 (тёмный) — чётко виден на Panel
- Внутренние блоки: #ffffff / #142822 — контраст с карточкой
- Название города: #10211b / #ecf5f2 — тёмный/светлый, жирный
- Все цвета заданы через CSS классы с [data-theme=dark] — без var()
- Toggle: #22c55e / #c8d8d2 — виден в обеих темах
2026-07-22 09:54:36 +00:00
root 2103fe2afe fix: SMS city profiles — inline styles для надёжного контраста
- Карточки профиля: accent-soft (зелёный оттенок) — виден на Panel
- Внутренние блоки: surface-strong (непрозрачный) — контраст с карточкой
- Инпуты: color-base — отличается от карточек
- Все цвета через CSS variables — работают в обеих темах
- Никаких Tailwind классов с var() которые могут не разрешиться
2026-07-22 09:51:56 +00:00
root 69c261cc8f fix: SMS city profiles — контраст цветов для светлой и тёмной темы
- Внешние карточки: --color-surface (полупрозрачный, виден на фоне)
- Внутренние блоки: --color-surface-strong (непрозрачный, контраст)
- Inputs/select: --color-base (отличается от карточек)
- Option элементы: явный bg + color для тёмной темы
- Светлая: карточки голубовато-зелёные, внутри — белые блоки
- Тёмная: карточки чуть светлее фона, внутри — ещё светлее
2026-07-22 08:41:48 +00:00
root 1a60fe07e0 fix: backup-code-s3 retention bash comparison 2026-07-22 06:59:44 +00:00
root f67fe6432d feat: backup code to S3 after deploy
- scripts/backup-code-s3.sh — tar.gz (без node_modules/.git/dist) → S3
- deploy.sh: вызывает backup-code-s3.sh после деплоя
- Retention 30 дней, Beget Cloud Storage
- Также добавить в cron: 0 1 * * *
2026-07-22 06:58:15 +00:00
root 6c9e13d19a fix: SMS city profiles UI — контраст цветов, выравнивание
- bg-[var(--color-surface-strong)] вместо --color-bg внутри карточек
- Карточки профилей: --color-surface-strong, вложенные блоки: --color-surface
- Текст всегда var(--color-text) — виден в светлой и тёмной теме
- Toggle: компактнее (h-5 w-10)
- Выравнивание: flex-wrap, gap, border-t для разделения секций
- SMS ON/OFF badge вместо toggle в строке заголовка
2026-07-22 06:45:39 +00:00
root 484f9efcba feat: SMS city profiles — гибкая конфигурация SMS по городам
- DB: sms_city_profiles (delivery_mode, pickup_mode, second_sms_enabled, paid_storage_enabled, sms_enabled)
- Python first_sms: link mode (согласование) vs notification mode (без ссылки, без 2-й SMS)
- Python second_sms: проверка second_sms_enabled из профиля
- Python paid_storage: проверка paid_storage_enabled из профиля
- Frontend: SmsCityProfilesPanel — выбор режима, кастомный текст, toggle'ы
- Дефолты: Севастополь=link, Ялта=notification без ссылки
- Замена sms_city_rules на sms_city_profiles
2026-07-21 19:55:51 +00:00
root a4ac117b51 fix: paid_storage SMS — убрать фильтр по городам
- Убран sms_allowed_for_city из paid_storage скрипта
- Убрана paid_storage из UI (dropdown + labels)
- Описание обновлено: только 1-е и 2-е SMS
2026-07-21 19:08:22 +00:00
root e2dcf6db72 merge: server updates + sms city rules 2026-07-21 14:58:19 +00:00
root de4ecaad27 feat: SMS city rules — гибкое управление SMS по городам
- DB: sms_city_rules table + sms_allowed_for_city() function + RLS
- Python: фильтр sms_allowed_for_city в first_sms, second_sms, paid_storage
- Frontend: SmsCityRulesPanel — toggle on/off, период дат, комментарии
- Интеграция в SmsCampaignPanel как вкладка 'SMS по городам'
- Поддержка '*' (все города / все кампании)
2026-07-21 14:58:11 +00:00
root a3ffd0c030 sync from mkn8n 2026-07-16 12:43:02 +00:00
root 319761a24c merge: server fixes + suggestions voting 2026-07-16 12:42:31 +00:00
root 6ad969f297 merge: suggestions voting + logistician access from mkn8n 2026-07-16 12:40:43 +00:00
root efe98c09d4 feat: suggestions voting + logistician access
- Add suggestion_votes table (DB migration applied)
- Vote/unvote with optimistic UI update
- Sort suggestions by vote_count desc, then created_at desc
- Add 'Предложения' tab to logistician role
- Vote button shows count, highlighted when voted
2026-07-16 12:30:14 +00:00
root 0f38ce0095 fix: normalizeDateForInput парсит dd.MM.yyyy + customerDate fallback для логистов 2026-07-14 18:52:02 +00:00
root 3b93e755fb fix: логисты могут ставить Доставлено без части дня + дублирующий индекс удалён 2026-07-14 18:48:03 +00:00
root 48e238e634 fix: логисты могут ставить прошедшие даты + dedup триггер 2026-07-14 18:00:35 +00:00
root 052e5e7e86 fix: calendar overlap + allow past dates for logistician
1. CalendarWidget: add relative to calendar container so absolute popup
   positions correctly (no more overlapping with other elements)
2. OrderDetailPanel: logistician/admin/manager can select past dates
   (3 months back) for retroactive delivery closing
3. canGoBack always true for logistician — can navigate to past months
4. Existing past delivery dates are preserved (not reset to tomorrow)
2026-07-13 14:42:36 +00:00
root c86e0e1ea6 fix: SMS labels — clarify delivered means SMS delivered to phone, not goods
1-е SMS: «✓ доставлено» → «✓ получено клиентом»
2-е SMS: added «✓ получено клиентом»
«ждём подтверждения» → «ждём ответ оператора»
2026-07-13 14:32:19 +00:00