1
0

feat: remove props destructuring ProjectsNavigationItem

This commit is contained in:
Dominik Pschenitschni 2024-06-20 17:09:21 +02:00 committed by konrad
parent 439e9ef275
commit 4bd9c79912

View File

@ -95,11 +95,7 @@ import {getProjectTitle} from '@/helpers/getProjectTitle'
import ColorBubble from '@/components/misc/ColorBubble.vue' import ColorBubble from '@/components/misc/ColorBubble.vue'
import ProjectsNavigation from '@/components/home/ProjectsNavigation.vue' import ProjectsNavigation from '@/components/home/ProjectsNavigation.vue'
const { const props = defineProps<{
project,
isLoading,
canCollapse,
} = defineProps<{
project: IProject, project: IProject,
isLoading?: boolean, isLoading?: boolean,
canCollapse?: boolean, canCollapse?: boolean,
@ -109,21 +105,21 @@ const projectStore = useProjectStore()
const baseStore = useBaseStore() const baseStore = useBaseStore()
const currentProject = computed(() => baseStore.currentProject) const currentProject = computed(() => baseStore.currentProject)
// Persist open state across browser reloads. Using a seperate ref for the state // Persist open state across browser reloads. Using a separate ref for the state
// allows us to use only one entry in local storage instead of one for every project id. // allows us to use only one entry in local storage instead of one for every project id.
type openState = { [key: number]: boolean } type OpenState = { [key: number]: boolean }
const childProjectsOpenState = useStorage<openState>('navigation-child-projects-open', {}) const childProjectsOpenState = useStorage<OpenState>('navigation-child-projects-open', {})
const childProjectsOpen = computed({ const childProjectsOpen = computed({
get() { get() {
return childProjectsOpenState.value[project.id] ?? true return childProjectsOpenState.value[props.project.id] ?? true
}, },
set(open) { set(open) {
childProjectsOpenState.value[project.id] = open childProjectsOpenState.value[props.project.id] = open
}, },
}) })
const childProjects = computed(() => { const childProjects = computed(() => {
return projectStore.getChildProjects(project.id) return projectStore.getChildProjects(props.project.id)
.filter(p => !p.isArchived) .filter(p => !p.isArchived)
.sort((a, b) => a.position - b.position) .sort((a, b) => a.position - b.position)
}) })