north-star / commit
fixed issues with friends list and dark mode
.vscode/settings.json | 8 +++++--- src/friends-panel.ts | 11 ++++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index fc86c15..b9c2b23 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,9 +21,11 @@ }, "cSpell.words": [ "darkmode", - "wakelock", - "Icongeek26", "Flaticon", - "Freepik" + "Freepik", + "Icongeek26", + "noopener", + "noreferrer", + "wakelock" ] } \ No newline at end of file diff --git a/src/friends-panel.ts b/src/friends-panel.ts index 231f092..a05aa0e 100644 --- a/src/friends-panel.ts +++ b/src/friends-panel.ts @@ -160,13 +160,17 @@ export const createFriendsPanelController = ({ document.addEventListener('pointerdown', (event) => { if (!friendsPanelVisible) return; + if (document.body.classList.contains('dark')) return; + const target = event.target; if (!(target instanceof Node)) return; const clickedInsidePanel = friendsPanel ? friendsPanel.contains(target) : false; const clickedToggle = friendsToggle ? friendsToggle.contains(target) : false; + const darkModeToggle = document.getElementById('dark-mode-toggle'); + const clickedDarkModeToggle = darkModeToggle ? darkModeToggle.contains(target) : false; - if (clickedInsidePanel || clickedToggle) return; + if (clickedInsidePanel || clickedToggle || clickedDarkModeToggle) return; friendsPanelVisible = false; applyFriendsPanelVisibility(); @@ -272,7 +276,8 @@ export const createFriendsPanelController = ({ }; const renderFriendControls = (friendsToRender) => { - lastFriendsToRender = friendsToRender; + const orderedFriends = sortFriendsForDisplay(friendsToRender); + lastFriendsToRender = orderedFriends; if (!friendsPanel) return; friendsPanel.textContent = ''; @@ -280,7 +285,7 @@ export const createFriendsPanelController = ({ heading.textContent = 'Friends'; friendsPanel.appendChild(heading); - for (const friend of friendsToRender) { + for (const friend of orderedFriends) { const row = document.createElement('div'); row.className = 'friend-row'; row.dataset.friendId = friend.id;