Phase 28 (Step 10): docs — diplomail UI topic + FUNCTIONAL mirror
- `ui/docs/diplomail-ui.md`: new topic doc covering the wire surface, recipient-by-race-name decision, threading model, translation toggle, push events, badge, layout, and accessibility. - `docs/FUNCTIONAL.md` §11.4 grows a paragraph that records the UI's per-race threading rule, the absent read-receipt UX, and the recipient-by-race-name compose path. Mirrored verbatim into `docs/FUNCTIONAL_ru.md`. - `ui/PLAN.md` Phase 28 marked done with a "Decisions during stage" block matching the implementation plan, and the artifact list updated to the actual file set. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1309,6 +1309,20 @@ bulk-purge всей почты соответствующей партии.
|
||||
кэш) перевод; UI по умолчанию показывает перевод и предлагает
|
||||
переключение «показать оригинал».
|
||||
|
||||
Внутриигровой UI группирует личную почту по веткам по расам —
|
||||
каждая личная переписка между локальным игроком и другой расой
|
||||
оказывается в одной ветке, ключевая по расе собеседника.
|
||||
Системные сообщения, административные уведомления и собственные
|
||||
рассылки игрока (платный тариф) показываются отдельными
|
||||
автономными записями в том же списке и никогда не группируются.
|
||||
`read_at` и `deleted_at` поддерживают локальный счётчик
|
||||
непрочитанного и кнопку удаления, но не показываются игроку —
|
||||
дипломатическая почта не обещает уведомления о прочтении. Форма
|
||||
compose выбирает получателя по имени расы (сервер резолвит через
|
||||
`Memberships.ListMembers(game_id, "active")`); клиент не тянет
|
||||
отдельный список членов. Подробнее — в
|
||||
[`ui/docs/diplomail-ui.md`](../ui/docs/diplomail-ui.md).
|
||||
|
||||
### 11.5 Хуки жизненного цикла
|
||||
|
||||
Три транзитных перехода в лобби порождают system mail в inbox
|
||||
|
||||
Reference in New Issue
Block a user