summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2024-02-16 12:33:05 +0100
committerskjnldsv <skjnldsv@protonmail.com>2024-02-16 12:33:11 +0100
commit05f04df69e9c09d9f4443e11d53601f9d2381d50 (patch)
tree62e2e9dcd8513267a8765325dc122ea8e2af38ef
parent1a8cd228845034d5fce7ce95cc647d3a59b1b553 (diff)
fix(circles): sort fallback if not member of circle
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
-rw-r--r--src/components/AppNavigation/RootNavigation.vue13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/components/AppNavigation/RootNavigation.vue b/src/components/AppNavigation/RootNavigation.vue
index 24fc14b8..1dabe82f 100644
--- a/src/components/AppNavigation/RootNavigation.vue
+++ b/src/components/AppNavigation/RootNavigation.vue
@@ -349,9 +349,22 @@ export default {
circlesMenu() {
const menu = this.circles || []
menu.sort((a, b) => {
+ // If user is member of a and b, sort by level
if (a?.initiator?.level !== b?.initiator?.level && a?.initiator?.level && b?.initiator?.level) {
return b.initiator.level - a.initiator.level
}
+
+ // If user is member of a and not b, sort a first
+ if (a.initiator && !b.initiator) {
+ return -1
+ }
+
+ // If user is member of b and not a, sort b first
+ if (!a.initiator && b.initiator) {
+ return 1
+ }
+
+ // Else we sort by name
return naturalCompare(a.toString(), b.toString(), { caseInsensitive: true })
})