feat: remove props destructuring ProjectsNavigationItem
This commit is contained in:
parent
439e9ef275
commit
4bd9c79912
@ -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)
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user