summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGreta <gretadoci@gmail.com>2023-11-02 14:11:42 +0100
committerGitHub <noreply@github.com>2023-11-02 14:11:42 +0100
commitaa74eb084f99f9737a1b8caeba911644b18c6849 (patch)
treeb44b69fbb760204484e339766a3d58171111402d /src
parent77771dc2bbca87ea0b108f21192642678eb8dd5d (diff)
parent143edd6c00b644706574ede20b669f613de62910 (diff)
Merge pull request #3665 from nextcloud/feat/sort-circles
feat(circles): sort by initiator level and change icons
Diffstat (limited to 'src')
-rw-r--r--src/components/AppNavigation/CircleNavigationItem.vue14
-rw-r--r--src/components/AppNavigation/RootNavigation.vue7
2 files changed, 17 insertions, 4 deletions
diff --git a/src/components/AppNavigation/CircleNavigationItem.vue b/src/components/AppNavigation/CircleNavigationItem.vue
index c299e709..75f93153 100644
--- a/src/components/AppNavigation/CircleNavigationItem.vue
+++ b/src/components/AppNavigation/CircleNavigationItem.vue
@@ -24,7 +24,9 @@
:title="circle.displayName"
:to="circle.router">
<template #icon>
- <IconCircles :size="20" />
+ <AccountStar v-if="circle.isOwner" :size="20" />
+ <AccountGroup v-else-if="circle.isMember" :size="20" />
+ <AccountGroupOutline v-else :size="20" />
</template>
<template v-if="loadingAction" slot="actions">
<ActionText>
@@ -98,11 +100,15 @@ import {
NcAppNavigationItem as AppNavigationItem,
NcLoadingIcon as IconLoading,
} from '@nextcloud/vue'
+
import ExitToApp from 'vue-material-design-icons/ExitToApp.vue'
import IconAdd from 'vue-material-design-icons/Plus.vue'
import IconDelete from 'vue-material-design-icons/Delete.vue'
import LocationEnter from 'vue-material-design-icons/LocationEnter.vue'
-import IconCircles from '../Icons/IconCircles.vue'
+import AccountStar from 'vue-material-design-icons/AccountStar.vue'
+import AccountGroup from 'vue-material-design-icons/AccountGroup.vue'
+import AccountGroupOutline from 'vue-material-design-icons/AccountGroupOutline.vue'
+
import Circle from '../../models/circle.ts'
import CircleActionsMixin from '../../mixins/CircleActionsMixin.js'
@@ -119,7 +125,9 @@ export default {
IconAdd,
IconDelete,
LocationEnter,
- IconCircles,
+ AccountStar,
+ AccountGroup,
+ AccountGroupOutline,
IconLoading,
},
diff --git a/src/components/AppNavigation/RootNavigation.vue b/src/components/AppNavigation/RootNavigation.vue
index 144da34f..1bb39119 100644
--- a/src/components/AppNavigation/RootNavigation.vue
+++ b/src/components/AppNavigation/RootNavigation.vue
@@ -348,7 +348,12 @@ export default {
// generate circles menu from the circles store
circlesMenu() {
const menu = this.circles || []
- menu.sort((a, b) => naturalCompare(a.toString(), b.toString(), { caseInsensitive: true }))
+ menu.sort((a, b) => {
+ if (a?.initiator?.level !== b?.initiator?.level && a?.initiator?.level && b?.initiator?.level) {
+ return b.initiator.level - a.initiator.level
+ }
+ return naturalCompare(a.toString(), b.toString(), { caseInsensitive: true })
+ })
return menu
},