summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2024-02-16 12:56:02 +0100
committerGitHub <noreply@github.com>2024-02-16 12:56:02 +0100
commit84d5b94032ebf15dc65973211c1b0c2ddbd18eaa (patch)
tree62e2e9dcd8513267a8765325dc122ea8e2af38ef
parent1a8cd228845034d5fce7ce95cc647d3a59b1b553 (diff)
parent05f04df69e9c09d9f4443e11d53601f9d2381d50 (diff)
Merge pull request #3809 from nextcloud/fix/circles-sort
fix(circles): sort fallback if not member of circle
-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 })
})