Commit Graph

122 Commits

Author SHA1 Message Date
WASRUSGEN
0c938b3c48 feat: _rcTransferToElena — continue dialog in Elena screen with deadline context 2026-05-28 18:31:46 +03:00
WASRUSGEN
02f6fc70e3 fix: callToAction renders HTML tags as text — pass isRawHtml=true 2026-05-28 18:27:11 +03:00
WASRUSGEN
6e80948c02 fix: Elena answers 'Что нужно сделать?' with concrete steps
- _rcLastContext: stores active deadline when Elena mentions it
- _DL_ACTIONS: step-by-step actions per deadline type
  (payment / notification / renewal / termination / penalty / other)
- _buildDlAnswer(): renders numbered steps + legal warning + CTA buttons
- retChatSend(): detects action questions, answers in-chat (no redirect)
- API path: real Elena response with deadline context injected
- Fallback: template redirect only when no context + no API
- initReturnChat(): updated urgentDL message prompts follow-up question
- _rcAddBubble: supports raw HTML (isRawHtml param)
- _rcEscape: safe text rendering for plain messages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:22:55 +03:00
WASRUSGEN
ca518bb85d feat: client type selector + B2B form on pay screen
- Tabs: Физлицо / ИП / ООО — toggle B2B form visibility
- B2B fields: название, ИНН, КПП (ООО only), адрес, email
- File upload: multi-file, PDF/JPG/PNG/DOCX, 10MB limit, chip list
- Camera: getUserMedia → snap → preview; fallback input[capture] mobile
- Validation: ИНН length check (10/12), required fields before ykOpen
- Auto-save/restore requisites via localStorage
- _initPayScreen() — restore saved B2B data + sync balance on go('pay')

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:14:16 +03:00
WASRUSGEN
419dacda3c docs: публичная оферта — полная редакция 28.05.2026
- Тарифы: разовые услуги (990-2990 ₽) + Сопровождение (1490/2900/5900 ₽)
- Явно: НЕТ автопродления, досрочное прекращение с пропорциональным возвратом
- B2C vs B2B: документооборот, счёт и акт для ИП/ООО, чек для физлиц
- Возврат: позиция "не держим деньги за неоказанную услугу"
- 152-ФЗ: согласие на обработку ПДн, срок хранения 90 дней
- Ограничение ответственности: в пределах стоимости услуги
- Споры: СОЮ для физлиц (ЗоЗПП), АС СПб для ИП/ООО

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:42:52 +03:00
WASRUSGEN
b91c134327 feat: case status model — active/dispute/wait/completed/archived
- CT_DATA: replaced work/done with 5-state model, added id field
- STATUS_MAP: new labels with emojis per status
- Filters: Все / Активные / В споре / Завершённые / Срочные
- KPI: counts calculated from real statuses (not hardcoded)
- _getActiveCaseIds() / _getHotDeadlines() — helpers for Elena
- initReturnChat: urgentDL filtered to active/dispute cases only
- window._CT_DATA exported for cross-module access

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:27:22 +03:00
WASRUSGEN
844654ce59 feat: API layer — /api/elena real responses, /api/deadlines, Council agents
- API_BASE + _elenaApi() with Haiku/Sonnet fallback to templates
- startScan() calls /api/deadlines in parallel with animation
- signed_date question when contract date unknown (_askSignedDate)
- _setSignedDate() recalculates live deadlines, shows hot ones
- Council offer when complexity_score >= 3
- _runCouncil() → parallel 5 agents (Sonnet) + Opus synthesis
- _showCouncilResult() with agent cards + verdict

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:08:17 +03:00
WASRUSGEN
6b5211d996 fix: remove el-step1 restore timer, reset on go(start) instead 2026-05-28 16:16:41 +03:00
WASRUSGEN
39799dacc0 fix: invert classifier — whitelist offtopic, not legal; expand intent detection 2026-05-28 16:14:28 +03:00
WASRUSGEN
f63d021a03 feat: empathy-first hero chat — pain-based opening, empathy prefix, input-first UX 2026-05-28 16:11:25 +03:00
WASRUSGEN
05bd5ebe01 fix: create intent — doc type picker, no greeting, no cabinet redirect 2026-05-28 16:07:25 +03:00
WASRUSGEN
989597f490 feat: input classifier — legal/greeting/offtopic filter with progressive lock 2026-05-28 15:57:52 +03:00
WASRUSGEN
8c6289ed1a feat: service order card for power intent + voice mic in chat inputs 2026-05-28 15:45:49 +03:00
WASRUSGEN
c7c5d9f682 fix: _chatTransition — no el-step1 flash when routing from hero chat to Elena 2026-05-28 15:13:09 +03:00
WASRUSGEN
3c29e83ffc feat: personalized returning visitor chat — name, last contract, credits, urgent deadlines 2026-05-28 14:50:59 +03:00
WASRUSGEN
00e96de8bb feat: hero live chat widget — Elena types greeting → user replies → intent routing 2026-05-28 14:47:01 +03:00
WASRUSGEN
2ee34cbc0d feat: admin screen + hybrid pay (разовые+подписка) + balance tab + ЮKassa modal + возврат средств 2026-05-28 14:35:32 +03:00
WASRUSGEN
29edcc46b9 feat: Сроки — дедлайн-лента (заменяет Ганнт), сводка, фильтры, парсинг-архитектура 2026-05-28 13:31:52 +03:00
WASRUSGEN
7e2efc80d3 fix: незакрытые tabpane p-sroki и p-shab — вложение сломало Шаблоны и Составить документ 2026-05-28 13:16:18 +03:00
WASRUSGEN
d3bd861d6c text: typewriter — «Защищаю людей — не только бизнес» 2026-05-28 12:22:56 +03:00
WASRUSGEN
b2aea76f56 text: Рита — 5 правок (Вам, убрать ложные claims, убрать uppercase, уточнить pitch) 2026-05-28 12:16:06 +03:00
WASRUSGEN
9c48e7abea feat: hero typewriter — USP-ротация для нового, персональный текст для вернувшегося клиента 2026-05-28 11:59:53 +03:00
WASRUSGEN
8c778c6c90 feat: Elena conversational first-contact v4 — animated greeting + open dialog + quick-pick cards 2026-05-28 11:53:52 +03:00
WASRUSGEN
2c4ed4cd4e copy: текстовый аудит — 8 правок (время, CTA, доверие, повторы) 2026-05-28 11:47:03 +03:00
WASRUSGEN
6e2ee2e674 feat: Елена — первый экран с намерением, 8 форм документов, обновлён hero 2026-05-28 11:37:06 +03:00
WASRUSGEN
c4f945f0d5 feat: wizard «Составить документ» — 3 шага, 8 типов, превью агентского договора 2026-05-28 11:23:49 +03:00
WASRUSGEN
269483ef4a feat: часы в сайдбаре, счётчик протокола, вкладка Переписка 2026-05-28 11:16:52 +03:00
WASRUSGEN
57dfde38ed risks: accordion expand — цитата из договора + исправленная формулировка + кнопка в протокол 2026-05-28 11:07:55 +03:00
WASRUSGEN
279afff27e case v2: риски (12 позиций), прогресс-шаги, загрузка документов 2026-05-28 10:55:34 +03:00
WASRUSGEN
abc6a813e7 case page: CRM redesign — header, next-step-v2, tabs (Обзор/Документы/История) 2026-05-28 10:49:53 +03:00
WASRUSGEN
4c67c6267c fix: filter bar - segmented control style, remove clutter 2026-05-28 10:35:47 +03:00
WASRUSGEN
0e943e7ed7 feat: CRM cabinet redesign
- Sidebar: sections (Обзор/Инструменты), icons, badge on Мои дела, Новый запрос button, user profile
- Main header: sticky bar with title + search + actions
- KPI cards: Всего / В работе / Срочных / Завершено (live from CT_DATA)
- Search filters table in real time
- Tab title updates in header on navigation
- Текущее дело hidden from sidebar until opened
2026-05-28 10:20:53 +03:00
WASRUSGEN
5a3bc12945 feat: Elena intake v2 - intent chips + voice input
- New greeting: lists all services, open-ended question
- 4 intent chips: Проверить / Составить / Оспорить / Доверенность
- Voice input via Web Speech API (ru-RU), mic pulse animation
- Keyword routing for free text (check vs create vs power)
- Creation flow: type selector -> Договор/Доверенность/Претензия/Другое
- Hidden mic if browser unsupported, permission error handling
2026-05-28 10:07:39 +03:00
WASRUSGEN
4647b5f7d5 fix: cases table - status = order state only (paid/wait/work/ready/done) 2026-05-28 00:33:23 +03:00
WASRUSGEN
0cc1225dc2 feat: cases list as sortable table with filters
- Filters: Все / Открытые / Закрытые / Высокий риск + Новый договор
- Single-line rows: name, type badge, date, risk chip, status, open arrow
- Sortable columns (click header = asc/desc)
- 5 demo cases incl 2 closed/archived
- Gantt removed from Мои дела (belongs to Сопровождение only)
2026-05-28 00:23:00 +03:00
WASRUSGEN
670543e1bd fix: Gantt v2 - done/active rows, accompaniment context, Elena note
- Done tasks: green bar + checkmark + strikethrough text
- Active tasks: highlighted row background
- Title renamed to 'Сопровождение договоров'
- Elena note explains the concept
- Ticker fully removed
2026-05-27 23:58:32 +03:00
WASRUSGEN
fbaaebcbfb remove: ticker strip fully removed 2026-05-27 13:23:37 +03:00
WASRUSGEN
01edc3bee1 feat: MS Project-style Gantt at bottom of Мои дела tab
- Split view: left table (num/name/dur/start/end) + right timeline grid
- 11 rows: 3 contracts as groups, 8 subtasks
- Color-coded bars: done/active/urgent/pending/group
- Today marker (red line), weekend columns shaded
- Scrollable on mobile, renders on cabinet open
2026-05-27 13:08:55 +03:00
WASRUSGEN
7453e6bf64 feat: Gantt timeline in cabinet Sroki tab, ticker hidden from start
- Replaced deadline list with MS Project-style Gantt chart
- 4 cases with color-coded bars (overdue/urgent/warn/ok)
- Today marker, date ticks, scrollable on mobile
- Legend with status colors
- Ticker on start screen hidden
2026-05-27 12:48:53 +03:00
WASRUSGEN
e67ecde340 feat: deadline ticker strip on start screen
- Fixed bottom bar with scrolling contract statuses
- Demo items + real last_order from localStorage
- Pauses on hover, syncs visibility with screen transitions
2026-05-27 12:17:17 +03:00
WASRUSGEN
4f4dc6c330 feat: returning client greeting screen on start
- New clients: existing flow unchanged
- Returning clients (localStorage history): greeting text, last order card, primary CTA to cabinet
- ykFinish() saves last order to zashita_last_order in localStorage
- checkReturning() runs on DOMContentLoaded
2026-05-27 11:07:03 +03:00
WASRUSGEN
95c3e2ec49 pay: ЮKassa widget (card + SBP, mockup-ready, prod hook marked) 2026-05-27 10:30:49 +03:00
WASRUSGEN
1b7c818c4a consult: AI-powered, remove live lawyer references 2026-05-27 00:09:51 +03:00
WASRUSGEN
f72fd02b91 fix: remove CSS from script block (JS crash fix) 2026-05-27 00:03:06 +03:00
WASRUSGEN
56ae8b8f9d cabinet: mobile responsive layout (sidebar -> top tabs on mobile) 2026-05-26 23:23:29 +03:00
WASRUSGEN
d636d220e6 fix: Оплатить -> order-status; add cabinet button on start screen 2026-05-26 23:15:00 +03:00
WASRUSGEN
7b7dd67d1d order-status screen: post-pay confirmation with stepper, Elena msg, dynamic content 2026-05-26 22:57:24 +03:00
WASRUSGEN
222ab40fcb oferta: add full bank requisites (Sberbank, r/s, BIK, k/s) 2026-05-26 20:22:27 +03:00
WASRUSGEN
434b803fdf oferta: fill OGRNIP 325784700271898 and INN 781909921730 2026-05-26 20:00:51 +03:00
WASRUSGEN
a0fd25b879 Pay screen: dynamic contract type subtitle from detection 2026-05-26 19:52:46 +03:00