Добавить opinion-связи и обновить UI связей в профиле

This commit is contained in:
AidarKC
2026-05-20 13:13:50 +03:00
parent a53444b863
commit aa35d87885
18 changed files with 452 additions and 49 deletions
@@ -107,6 +107,20 @@
- `CONNECTION_UNCONTACT (21)`
- `CONNECTION_FOLLOW (30)`
- `CONNECTION_UNFOLLOW (31)`
- `CONNECTION_SPOUSE (40)`
- `CONNECTION_UNSPOUSE (41)`
- `CONNECTION_PARENT (50)`
- `CONNECTION_UNPARENT (51)`
- `CONNECTION_CHILD (52)`
- `CONNECTION_UNCHILD (53)`
- `CONNECTION_SIBLING (54)`
- `CONNECTION_UNSIBLING (55)`
- `CONNECTION_KNOWN_PERSON (60)`
- `CONNECTION_UNKNOWN_PERSON (61)`
- `CONNECTION_SHINE_CONFIRMED (70)`
- `CONNECTION_SHINE_UNCONFIRMED (71)`
- `CONNECTION_SHINE_SEEN (74)`
- `CONNECTION_SHINE_UNSEEN (75)`
5. **USER_PARAM (type=4)**
- `USER_PARAM_TEXT_TEXT (1)`
+10 -14
View File
@@ -4,20 +4,16 @@ CONNECTION-тип описывает социальные связи и подп
## Подтипы
1. `subType=10``CONNECTION_FRIEND`
2. `subType=11``CONNECTION_UNFRIEND`
3. `subType=20``CONNECTION_CONTACT`
4. `subType=21``CONNECTION_UNCONTACT`
5. `subType=30``CONNECTION_FOLLOW`
6. `subType=31``CONNECTION_UNFOLLOW`
7. `subType=40``CONNECTION_SPOUSE`
8. `subType=41``CONNECTION_UNSPOUSE`
9. `subType=50``CONNECTION_PARENT`
10. `subType=51``CONNECTION_UNPARENT`
11. `subType=52``CONNECTION_CHILD`
12. `subType=53``CONNECTION_UNCHILD`
13. `subType=54``CONNECTION_SIBLING`
14. `subType=55``CONNECTION_UNSIBLING`
`10/11``close_friend / unclose_friend` (близкий друг)
`20/21``contact / uncontact` (контакт)
`30/31``follow / unfollow` (подписан)
`40/41``spouse / unspouse` (супруг/супруга)
`50/51``parent / unparent` (родитель)
`52/53``child / unchild` (ребёнок)
`54/55``sibling / unsibling` (брат/сестра)
`60/61``known_person / unknown_person` (знаю этого человека)
`70/71``shine_confirmed / shine_unconfirmed` (точно уверен, что сияющий)
`74/75``shine_seen / shine_unseen` (мало знаком, но видел сияющим)
## Общий формат payload
+8
View File
@@ -1,5 +1,13 @@
# История изменений документации блокчейна
## 2026-05-20 11:34:17 +0300
- Базовый коммит-ориентир: `a53444b`.
- В `13_CONNECTION_Blocks.md` добавлены новые CONNECTION подтипы:
- `60/61``known_person / unknown_person` (знаю этого человека);
- `70/71``shine_confirmed / shine_unconfirmed` (точно уверен, что сияющий);
- `74/75``shine_seen / shine_unseen` (мало знаком, но видел сияющим).
- Обновлён список CONNECTION-подтипов в `Dev_Docs/API/04_Add_Block_to_Blockchain_API.md`.
## 2026-05-19 20:30:21 +0300
- Базовый коммит-ориентир: `7986184`.
- Уточнён документ `11_TEXT_Blocks.md`: для `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` зафиксировано, что `textLen=0` допустим и трактуется как логическое удаление сообщения.
@@ -0,0 +1,23 @@
## Краткое описание
Добавлены новые типы connection-связей в блокчейне и API:
- `known_person` (`60/61`)
- `shine_confirmed` (`70/71`)
- `shine_seen` (`74/75`)
## Что проверять
1. `AddBlock` принимает новые `msg_sub_type` для `type=3`.
2. Связи корректно попадают в `connections_state`:
- ON создаёт/обновляет запись;
- OFF удаляет запись соответствующего ON-типа.
3. `GetUserConnectionsGraph` возвращает новые поля:
- `outKnownPersons`, `inKnownPersons`
- `outShineConfirmed`, `inShineConfirmed`
- `outShineSeen`, `inShineSeen`
4. Клиент `setUserRelation` принимает `kind`:
- `known_person`, `shine_confirmed`, `shine_seen`.
## Ожидаемый результат
Новые связи работают как обычные ON/OFF relation-типы, но не ломают текущие friend/contact/follow и остальные существующие связи.
## Статус
`pending`
@@ -0,0 +1,25 @@
## Краткое описание
Перестроен блок связей в профиле чужого пользователя и добавлен UI для одностороннего "мнения" (`known_person` / `shine_confirmed` / `shine_seen`) с взаимным исключением на уровне UI.
## Что проверять
1. Порядок базовых строк в профиле:
- Контакт
- Близкий друг
- Подписка
2. Под этими строками отображается блок мнений:
- при отсутствии мнения кнопка `Добавить связь`;
- при наличии мнения кнопка `Изменить связи`;
- показываются текстовые формулировки для активного мнения.
3. В модальном меню:
- варианты добавления (синие);
- `Убрать мнение` (красная).
4. При смене мнения отправляется последовательность:
- OFF старой связи,
- ON новой связи.
5. Для новых мнений показываются только исходящие (`out*`) оценки текущего пользователя (односторонняя логика).
## Ожидаемый результат
Пользователь управляет одним активным мнением через UI, состояние читается корректно и не ломает существующие friend/contact/follow кнопки.
## Статус
`pending`