From be2a38b48e078bd2d730303e6a8f1d9042490648 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 28 Mar 2023 14:29:15 +0200 Subject: [PATCH] feat(navigation): show favorite projects on top --- src/components/home/ProjectsNavigation.vue | 5 ++++- src/components/home/navigation.vue | 13 ++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/home/ProjectsNavigation.vue b/src/components/home/ProjectsNavigation.vue index f84e7375e..cec14cc96 100644 --- a/src/components/home/ProjectsNavigation.vue +++ b/src/components/home/ProjectsNavigation.vue @@ -8,12 +8,13 @@ handle=".handle" tag="ul" item-key="id" + :disabled="!allowDrag" :component-data="{ type: 'transition-group', name: !drag ? 'flip-list' : null, class: [ 'menu-list can-be-hidden', - { 'dragging-disabled': false } + { 'dragging-disabled': !allowDrag } ] }" > @@ -67,6 +68,7 @@ @@ -92,6 +94,7 @@ import {useProjectStore} from '@/stores/projects' const props = defineProps<{ modelValue: IProject[], + allowDrag: boolean, }>() const emit = defineEmits(['update:modelValue']) diff --git a/src/components/home/navigation.vue b/src/components/home/navigation.vue index 9bfe455b7..e1c60475f 100644 --- a/src/components/home/navigation.vue +++ b/src/components/home/navigation.vue @@ -48,8 +48,12 @@ + + @@ -78,6 +82,13 @@ onBeforeMount(async () => { const projects = computed(() => Object.values(projectStore.projects) .filter(p => p.parentProjectId === 0 && !p.isArchived) .sort((a, b) => a.position < b.position ? -1 : 1)) +const favoriteProjects = computed(() => Object.values(projectStore.projects) + .filter(p => !p.isArchived && p.isFavorite) + .map(p => ({ + ...p, + childProjects: [], + })) + .sort((a, b) => a.position < b.position ? -1 : 1))