Обновить UI сети и профиль

This commit is contained in:
AidarKC
2026-09-01 18:45:32 +04:00
parent 3dec5e3225
commit 52a9f1ac1d
12 changed files with 208 additions and 326 deletions
+8 -4
View File
@@ -10,7 +10,10 @@ function normLogin(value) {
const FAMILY_ROLES = ['parent', 'child', 'spouse', 'sibling'];
function relationTypeFromRole(role) {
function relationTypeFromRelation(relation) {
const explicit = String(relation?.mark?.relationType || '').trim().toLowerCase();
if (explicit === 'close_friend' || explicit === 'friend' || explicit === 'contact') return explicit;
const role = relation?.role;
if (FAMILY_ROLES.includes(role)) return 'family';
if (role === 'friend') return 'friend';
return 'contact';
@@ -22,6 +25,7 @@ function relationTypeFromRole(role) {
// - взаимные дружеские связи ближе односторонних.
function deriveStrength(relation) {
if (relation.isRelative) return 0.9;
if (relation?.mark?.relationType === 'close_friend') return 0.9;
if (relation.role === 'contact') return 0.4;
if (relation.forward && relation.backward) return 0.8;
return 0.55;
@@ -38,7 +42,7 @@ export function engineModelFromGraphModel(graphModel) {
const focusNode = {
id: focusLogin,
login: focusLogin,
name: '',
name: centerMark?.displayName || centerMark?.login || focusLogin,
avatar: centerMark?.avatar || null,
relationType: 'self',
strength: 1,
@@ -58,9 +62,9 @@ export function engineModelFromGraphModel(graphModel) {
return {
id: login,
login,
name: '',
name: r?.mark?.displayName || login,
avatar: r?.mark?.avatar || null,
relationType: relationTypeFromRole(r?.role),
relationType: relationTypeFromRelation(r),
strength: deriveStrength(r || {}),
shining: Boolean(r?.mark?.shine),
tier: 1,