Commit Graph

8 Commits

Author SHA1 Message Date
Sergey Zotov
141a2394d7 fix: сохранять assemblyInfo при автосохранении письма
persistCurrentLetter перезаписывал файл без assemblyInfo —
прехедер, тема и статус терялись при первом же автосохранении.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 20:39:27 +05:00
Sergey Zotov
403e53e41a fix: строить assemblyInfo в loadProject если не сохранён
Та же логика что в openLetter — при загрузке проекта письмо без
assemblyInfo теперь получает карточку из letter.title/date.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 19:20:18 +05:00
Sergey Zotov
a1c454c42f fix: строить assemblyInfo из letter.title/date если не сохранён
Для писем созданных до фикса (без assemblyInfo в файле) и не из плана —
карточка теперь показывается на основе данных самого письма.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 19:17:57 +05:00
Sergey Zotov
98fbcfe61a fix: показывать карточку письма при ручном создании, добавить дату
- сбрасывать assemblyCardHidden при создании нового письма вручную
- заполнять dateStr из поля date для отображения в карточке
- показывать дату в заголовке acard рядом со статусом

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 19:15:44 +05:00
Sergey Zotov
0f27e21257 fix(App): planDateToIso handles Date object and non-string values
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 18:13:55 +05:00
7eda990c6a Content plan import: auto-create letters from PDF content plan
- New parser (contentPlanParser.js): splits text by "Письмо N.", extracts subject/preheader, recognizes text/products/buttons/banners/headings
- Supports all 3 project formats: AT, numizmatRU, KB (different ID formats, markers)
- New mapper (contentPlanMapper.js): converts parsed blocks to Pug block structures
- UI modal: paste text → preview parsed letters → create all at once
- Auto-matches subjects to plan rows for dates
- Product IDs auto-split into blocks of 1-3 based on available mixins
2026-04-13 16:25:41 +05:00
d34f04e922 Rename EMAILBRO → ASPEKTER, update Coin Scout, security fixes
- Rename: Docker containers, UI, nginx, User-Agent strings
- Coin Scout: sync from COIN_SCOUT project (latest version)
- Security: Pug injection protection (validatePugSafety)
- Security: concurrent render fix (unique temp files)
- Fix: disappearing IDs input when cleared
- Audit logging: all mutations, login/logout
- Users: createdBy/updatedBy on letters
- Local image storage option
2026-04-13 12:39:25 +05:00
718821fdd6 Initial commit: ASPEKTER — визуальный конструктор email-рассылок
- z51-pug-builder: Svelte 5 SPA, визуальный редактор Pug-писем
- email-gen: Node.js рендерер Pug→HTML через email-templates + Juice
- email-gen-api: HTTP сервер рендеринга (порт 8787)
- coin-scout: сервис подбора монет из фидов
- Docker Compose для dev/prod
- Nginx конфиг с SSL для app.aspekter.ru
2026-04-13 11:36:39 +05:00