diff --git a/shine-UI/js/pages/network-view.js b/shine-UI/js/pages/network-view.js index b831b71..8b840bc 100644 --- a/shine-UI/js/pages/network-view.js +++ b/shine-UI/js/pages/network-view.js @@ -366,7 +366,7 @@ export function render({ navigate }) { const legend = document.createElement('div'); legend.className = 'network-legend'; legend.innerHTML = ` - Друзья + Близкие друзья Родственники Односторонняя связь `; @@ -386,7 +386,12 @@ export function render({ navigate }) { closeNodeMenu(); const menu = document.createElement('div'); menu.className = 'node-menu card'; - menu.innerHTML = ''; + menu.innerHTML = ` +
+ + +
+ `; const rect = node.getBoundingClientRect(); const boardRect = board.getBoundingClientRect(); @@ -396,11 +401,16 @@ export function render({ navigate }) { menu.style.left = `${Math.max(8, Math.min(x - 120, boardRect.width - 248))}px`; menu.style.top = `${Math.max(8, Math.min(y, boardRect.height - 58))}px`; - const btn = menu.querySelector('button'); - btn?.addEventListener('click', () => { + const infoBtn = menu.querySelector('[data-menu-action="show-info"]'); + const graphBtn = menu.querySelector('[data-menu-action="show-graph"]'); + infoBtn?.addEventListener('click', () => { navigate(`user-profile-view/${encodeURIComponent(login)}/network-view`); closeNodeMenu(); }); + graphBtn?.addEventListener('click', async () => { + closeNodeMenu(); + await load(login); + }); board.append(menu); activeMenu = menu; @@ -485,7 +495,7 @@ export function render({ navigate }) { redrawEdges = () => renderEdges(svg, board, nodeElements, layout.edges); requestAnimationFrame(() => redrawEdges()); - note.textContent = 'Тап: информация о пользователе. Долгое нажатие: сделать узел центром. Линия = взаимно, стрелка = в одну сторону.'; + note.textContent = 'Тап по узлу: меню «Показать информацию» или «Показать связи». Долгое нажатие: сделать узел центром.'; } catch (error) { if (requestId !== loadSeq) return; note.textContent = `Ошибка загрузки связей: ${error?.message || 'unknown'}`; diff --git a/shine-UI/js/pages/profile-view.js b/shine-UI/js/pages/profile-view.js index 0bfa2f1..fd1a8a2 100644 --- a/shine-UI/js/pages/profile-view.js +++ b/shine-UI/js/pages/profile-view.js @@ -305,7 +305,6 @@ export function render({ navigate }) { const uniqueContacts = Array.from(new Set(preparedContacts.map((item) => item.toLowerCase()))) .map((key) => preparedContacts.find((item) => item.toLowerCase() === key)) .filter(Boolean); - const datalistId = `profile-relative-contacts-${Math.random().toString(16).slice(2, 9)}`; root.innerHTML = `