diff options
author | Greta <gretadoci@gmail.com> | 2023-11-02 14:11:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-02 14:11:42 +0100 |
commit | aa74eb084f99f9737a1b8caeba911644b18c6849 (patch) | |
tree | b44b69fbb760204484e339766a3d58171111402d | |
parent | 77771dc2bbca87ea0b108f21192642678eb8dd5d (diff) | |
parent | 143edd6c00b644706574ede20b669f613de62910 (diff) |
Merge pull request #3665 from nextcloud/feat/sort-circles
feat(circles): sort by initiator level and change icons
-rw-r--r-- | src/components/AppNavigation/CircleNavigationItem.vue | 14 | ||||
-rw-r--r-- | src/components/AppNavigation/RootNavigation.vue | 7 |
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 }, |