diff --git a/frontend/src/components/home/Navigation.vue b/frontend/src/components/home/Navigation.vue index 4d3259f95..aedbaae33 100644 --- a/frontend/src/components/home/Navigation.vue +++ b/frontend/src/components/home/Navigation.vue @@ -84,7 +84,7 @@ class="menu" > diff --git a/frontend/src/components/home/ProjectsNavigationItem.vue b/frontend/src/components/home/ProjectsNavigationItem.vue index 532425688..3e9b9688f 100644 --- a/frontend/src/components/home/ProjectsNavigationItem.vue +++ b/frontend/src/components/home/ProjectsNavigationItem.vue @@ -52,7 +52,7 @@ {{ getProjectTitle(project) }} { .filter(p => !p.isArchived) .sort((a, b) => a.position - b.position) }) + +const canToggleFavorite = computed(() => { + // Allow favorite toggle for: + // 1. Regular projects (id > 0) with write permission + // 2. Saved filters (id < -1) - user owns their own filters + if (props.project.id === -1) return false // Favorites pseudo-project + if (props.project.id > 0) { + return props.project.maxPermission !== null && props.project.maxPermission > PERMISSIONS.READ + } + // Saved filters (negative IDs except -1) + return isSavedFilter(props.project) +})