fix(views): always redirect to the first view when none was specified

This commit is contained in:
kolaente 2024-03-19 14:39:10 +01:00
parent 8206cc8767
commit 974c9cdd21
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 18 additions and 9 deletions

View File

@ -25,25 +25,34 @@ const currentView = computed(() => {
return project?.views.find(v => v.id === viewId)
})
watch(
() => viewId,
() => {
if (viewId === 0) {
// Ideally, we would do that in the router redirect, but we the projects (and therefore, the views)
// are not always loaded then.
const viewId = projectStore.projects[projectId].views[0].id
function redirectToFirstViewIfNecessary() {
if (viewId === 0) {
// Ideally, we would do that in the router redirect, but the projects (and therefore, the views)
// are not always loaded then.
const firstViewId = projectStore.projects[projectId]?.views[0].id
if (firstViewId) {
router.replace({
name: 'project.view',
params: {
projectId,
viewId,
viewId: firstViewId,
},
})
}
},
}
}
watch(
() => viewId,
redirectToFirstViewIfNecessary,
{immediate: true},
)
watch(
() => projectStore.projects[projectId],
redirectToFirstViewIfNecessary,
)
const route = useRoute()
</script>